我正在开发一个网络表单,只要它回发自己就可以正常工作.在Reports.aspx我有:
<form runat="server" method="post">
但是,当我试图让它发布到不同的页面时:
<form runat="server" method="post" action="displayReport.aspx">
我得到“viewstate MAX失败的验证”错误.我已经尝试在web.config中设置机器密钥并禁用viewstate,但似乎没有任何帮助.我被贴回到同一页面吗?如果是这样,action属性的重点是什么?
解决方法
您可以提交到其他页面,但需要使用按钮的
PostBackUrl
属性,而不是表单的action属性.
而不是这个:
<form runat="server" method="post" action="displayReport.aspx"> <!-- form stuff goes here --> <asp:button runat="server" text="Submit" /> </form>
做这个:
<form runat="server"> <!-- form stuff goes here --> <asp:button runat="server" text="Submit" postbackurl="displayReport.aspx" /> </form>