[英]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.