這篇文章主要介紹了ASP.Net中表單POST到其他頁(yè)面的方法,需要的朋友可以參考下
在ASP中,我們通常把表單提交到另外一個(gè)頁(yè)面(接受數(shù)據(jù)頁(yè)面)。但是在ASP.NET中,服務(wù)端表單通常都是提交到本頁(yè)面的,如果我設(shè)置
代碼如下:
form1.action="test.aspx";
那么就會(huì)導(dǎo)致視圖驗(yàn)證錯(cuò)誤的錯(cuò)誤,因?yàn)锳sp.net安全機(jī)制引起的。我們也可以關(guān)閉這個(gè)驗(yàn)證,在接受頁(yè)面中(test.aspx)頭部加上
代碼如下:
<%@ Page EnableViewStateMac="false" %>
但這樣做不是很安全,其實(shí)asp.net 2.0 還提供了一種方式提交到其他頁(yè)面,服務(wù)器按鈕控件提供了一個(gè)屬性:PostBackUrl,這樣寫(xiě)
代碼如下:
button1.PostBackUrl="test.aspx";
這樣就不會(huì)引起驗(yàn)證錯(cuò)誤的問(wèn)題了,又很安全。
--------------------------------------------------------------------------------------
這里順便說(shuō)一下動(dòng)態(tài)修改form表單屬性的方法一些方法,與上面無(wú)關(guān)系:例如修改target屬性
普通頁(yè)面:
代碼如下:
((System.Web.UI.HtmlControls.HtmlForm)this.FindControl("form1")).Target = "_blank";
或者
代碼如下:
form1.Attributes["target"] = "_blank";
含母版頁(yè)master:
代碼如下:
((System.Web.UI.HtmlControls.HtmlForm)this.Master.FindControl("form1")).Target = "_blank";
前臺(tái)修改:
代碼如下:
<asp:Button ID="btnSubmit" runat="server" Text="Button" onclick="btnSubmit_Click"OnClientClick="this.form.target='_blank'" />
更多信息請(qǐng)查看IT技術(shù)專(zhuān)欄