Es kann sein, mit App-Recycling zu tun. Viewstate wird von einem Schlüssel signiert, der beim ersten Start der Anwendung generiert wird. Wenn Ihr Anwendungspool zwischen Anforderungen rezykliert wurde, ändert sich der Signierungsschlüssel für Viewstate und der vorherige Viewstate ist ungültig und Sie sehen die Ausnahme.
Um dies auszuschließen, können Sie set a specific machine key in Ihrer web.config.
Eine andere Sache von Bedeutung ist, dass, wenn Sie eine Seite haben, die Datenbindung stark verwendet, Ihr Viewstate sehr groß sein kann und die Seite möglicherweise auf dem Browser rendern, bevor es abgeschlossen ist, und wenn Sie dann etwas tun, das verursacht Zurückschreiben, bevor die Seite vollständig heruntergeladen wurde, möglicherweise wird der Fehler angezeigt. Dies wurde in .NET 3.5 SP1 behoben. Sie können dies auch beheben, indem Sie das Formular als deaktiviert darstellen und es dann clientseitig aktivieren oder ändern, wo viewstate generiert wird. Der ASP.NET-Debugging-Blog hat the instructions.
Wenn es immer noch passiert, versuchen Sie nicht, Änderungen an der Viewstate Formularfeld mit Javascript sind Sie?
Sie müssen wirklich mehr zu erklären. Gib Code, was du versuchst zu tun usw. – AlbertoPL
Danke Sean Bright :) – Yves
Viele Gründe dafür. http://stackoverflow.com/search?q=%E2%80%9CValidation+of+ViewState+MAC+failed%E2%80%9D – Greg