簡體   English   中英

DNN表單無法使用ASP.NET c#正確處理

[英]DNN Form not processing correctly with ASP.NET c#

我遇到了Dot Net Nuke自定義表單的問題。 表單有一些奇怪的行為。 好吧,我相信代碼中的皮膚本身很奇怪。 我在c#后面有提交按鈕代碼,可以在觸發時重定向到另一頁,並在函數末尾使用代碼“ response.redirect()”。 但是,它會重定向回自身,而無需在頁面中指定任何操作。 我意識到當我查看源代碼時,它會自動給出一個返回自身的動作。

皮膚本身中的代碼如下:

<dnn:Form id="Form" runat="server" ENCTYPE="multipart/form-data" >

按鈕代碼:

<asp:button id="btnClear2" cssclass="dnnSecondaryAction " runat="server" resourcekey="Submit"
  onclick="btnSubmit_Click" />

處理后的表單在瀏覽器中顯示為:

<form name="Form" method="post" action="/onlineorderform.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="Form" enctype="multipart/form-data">

如果站點不崩潰,我將無法更改或刪除dnn代碼。 似乎dnn代碼將覆蓋我的C#response.redirect代碼。

您無法在DNN中擁有表單,因為DNN頁面本身就是表單。 檢出editUrl()函數以更改頁面發布到的位置。 我目前正在嘗試自行解決問題。

要進一步擴展:cmdblah.Click事件顯然與頁面上的按鈕控件綁定在一起。

protected override void OnInit(EventArgs e)
    {
        base.OnInit(e);
        cmdblah.Click += cmdblah_Click;

}

        private void cmdblah_Click(object sender, EventArgs e)
    {
        string Testing = EditUrl("AddNewClient");
        Response.Redirect(Testing);

        //throw new NotImplementedException();

    }

在我的情況下,重定向在DNN上執行了另一個頁面卻不發送任何內容,但是,我可以看到通過添加的url中的參數或其他方式發送信息。...如果遇到這種情況,請找我。 :-)我還沒走那么遠。 我以為它無論如何都會將發布數據發送到新頁面。

希望能有所幫助。

由於站點中的整個頁面都是表單,因此無法在頁面內創建表單。

過去,我對此的解決方案是調用一個javascript,以在單擊按鈕/鏈接時更改表單動作。

這樣做的問題是它發送視圖狀態和所有dnn特定的后綴以及所需的字段。

在我的最新項目中,我在要發送的表單字段上使用了選擇器類,並通過查詢來序列化和發布數據。 最后效果很好。

編輯:

以下是一些代碼,可讓您序列化表格的一部分並將其發送

        $.get('processor URL' , 
        $('.ClassAddedToFieldsYouWantToSend').serialize(), 
        function(data) { alert("do something with the response"; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM