ASP.Net中表单POST到其他页面的方法分享
程序员文章站
2024-03-31 13:29:28
在asp中,我们通常把表单提交到另外一个页面(接受数据页面)。但是在asp.net中,服务端表单通常都是提交到本页面的,如果我设置复制代码 代码如下:form1.actio...
在asp中,我们通常把表单提交到另外一个页面(接受数据页面)。但是在asp.net中,服务端表单通常都是提交到本页面的,如果我设置
复制代码 代码如下:
form1.action="test.aspx";
那么就会导致视图验证错误的错误,因为asp.net安全机制引起的。我们也可以关闭这个验证,在接受页面中(test.aspx)头部加上
复制代码 代码如下:
<%@ page enableviewstatemac="false" %>
但这样做不是很安全,其实asp.net 2.0 还提供了一种方式提交到其他页面,服务器按钮控件提供了一个属性:postbackurl,这样写
复制代码 代码如下:
button1.postbackurl="test.aspx";
这样就不会引起验证错误的问题了,又很安全。
--------------------------------------------------------------------------------------
这里顺便说一下动态修改form表单属性的方法一些方法,与上面无关系:例如修改target属性
普通页面:
复制代码 代码如下:
((system.web.ui.htmlcontrols.htmlform)this.findcontrol("form1")).target = "_blank";
或者
复制代码 代码如下:
form1.attributes["target"] = "_blank";
含母版页master:
复制代码 代码如下:
((system.web.ui.htmlcontrols.htmlform)this.master.findcontrol("form1")).target = "_blank";
前台修改:
复制代码 代码如下:
<asp:button id="btnsubmit" runat="server" text="button" onclick="btnsubmit_click"onclientclick="this.form.target='_blank'" />