我正在处理一个网络表单,只要它回发自己就能正常工作。在Reports.aspx中我有:
<form runat="server" method="post">
但是,当我尝试将其发布到其他页面时:
<form runat="server" method="post" action="DisplayReport.aspx">
我收到“验证viewstate MAX失败”错误。我已经尝试在web.config中设置机器密钥并禁用viewstate,但似乎没有任何帮助。我被贴回到同一页面吗?如果是,那么action属性的重点是什么?
答案 0 :(得分:11)
您可以提交到其他页面,但需要使用按钮的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>
答案 1 :(得分:0)
应该提供跨页回发帖,您只需将其设置为可用。请参阅此链接http://csharpdotnetfreak.blogspot.com/2009/08/cross-page-posting-in-aspnet.html