2009-09-09 4 views
4

Je travaille sur un formulaire Web qui fonctionne correctement tant qu'il est publié sur lui-même. En Reports.aspx je:"La validation de viewstate MAC a échoué" en postback sur une page différente

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

mais, lorsque je tente de le faire publier sur une autre page:

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

je reçois l'erreur "Validation des viewstate MAX a échoué". J'ai essayé de définir la clé de la machine et de désactiver viewstate dans web.config, mais rien ne semble aider. Suis-je posté à la même page? Si oui, quel est le point de l'attribut d'action?

Répondre

11

Vous pouvez soumettre une page différente, mais vous devez utiliser la propriété PostBackUrl d'un bouton, et non l'attribut action du formulaire.

Au lieu de cela:

<form runat="server" method="post" action="DisplayReport.aspx"> 
    <!-- form stuff goes here --> 
    <asp:button runat="server" text="Submit" /> 
</form> 

Faites ceci:

<form runat="server"> 
    <!-- form stuff goes here --> 
    <asp:button runat="server" text="Submit" postbackurl="DisplayReport.aspx" /> 
</form> 
+0

parfait. merci – Ferruccio

+0

cela n'explique toujours pas quel est le point de l'attribut Action? – sarsnake

+0

Cette réponse a sauvé ma queue, merci @LukeH – JCleveland

Questions connexes