简体   繁体   中英

Validation of ViewState MAC Failed

Sorry if this is duplicate but I've been going crazy for the past two hours over this.

After changing the Master Page in ASP.NET MVC 1.0 application, I keep getting this familiar error when I try a postback without filling in the mandatory form elements which are validated by the server:

"Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that configuration specifies the same validationKey and validation algorithm. AutoGenerate cannot be used in a cluster."

The new page refers to a lot of jQuery code with lightboxes, superfish etc. Could that be a problem while doing a postback?

If I revert back to the original master, the error disappears and I'm able to validate form fields. Both masters are located in the same path.

I know a lot of other guys have faced this issue but I was unable to find anything which could help me.

Thanks.

Edited and added

After a little debugging, I've realized that a directive in the master page:

<% Html.RenderAction("menu", "nav"); %>

is creating the problem. The directive asks the "menu" action of the controller "nav" to inject a partial view Menu.ascx. If I delete this line from the new master page, everything works OK. My app's left bar navigation relies on this directive to work properly. Is there any way I can get around this? Very mysterious.

Are you using Html.AntiForgeryToken() anywhere on this page? Sometimes when I am testing locally with multiple different sites and / or port changes this will happen to me. If it does I clear my browser cache and it works just fine.

I did experienced the same problem two days ago . :)

A simple restart of the box has worked in my case so I did'nt investigate further.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM