2009-09-09 24 views
4

我正在一個web表單上工作正常,只要它回發給自己。在Reports.aspx我:「視圖狀態MAC驗證失敗」回發到不同的頁面

<form runat="server" method="post"> 

,但是,當我試圖把它發佈到不同的頁面:

<form runat="server" method="post" action="DisplayReport.aspx"> 

我得到的「視圖狀態MAX驗證失敗」的錯誤。我已經嘗試設置機器鍵並禁用web.config中的視圖狀態,但似乎沒有任何幫助。我堅持發帖回到同一頁面嗎?如果是的話,行動屬性的重點是什麼?

回答

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> 
+0

完美。謝謝 – Ferruccio

+0

這個還是不解釋Action的屬性是什麼? – sarsnake

+0

這個答案保存了我的尾巴,謝謝@LukeH – JCleveland