2010-07-12 2 views
4

Попытка запустить ReportViewer с прохождением параметра, но сообщение об ошибке:Валидация ViewState MAC Ошибка Ошибка

Validation of viewstate MAC failed error (ASP.NET MVC)

испробованы следующая, но не повезло:

  1. добавлен ключ машины (http://aspnetresources.com/tools/machineKey) к тегу system.web в web.config

  2. set enableEventValidation = "false" для тега страниц в web.config.

любой помощи?

ответ

2

У нас была та же проблема, не так давно, и после долгих поисков следующий код решил проблему:

protected override object LoadPageStateFromPersistenceMedium() 
{ 
    string viewState = Request.Form["__VSTATE"]; 
    LosFormatter formatter = new LosFormatter(); 
    return formatter.Deserialize(viewState); 
} 

protected override void SavePageStateToPersistenceMedium(object viewState) 
{ 
    LosFormatter formatter = new LosFormatter(); 
    System.IO.StringWriter writer = new System.IO.StringWriter(); 
    formatter.Serialize(writer, viewState); 
    string viewStateString = writer.ToString(); 
    ClientScript.RegisterHiddenField("__VSTATE", viewStateString); 
} 

Мы поставили его в представлении в тегах сценария, который не очень красиво , но это работает ...

Более подробную информацию см: Strange unhandled exception from asp.net application - Validation of viewstate MAC failed и http://www.codeproject.com/KB/viewstate/ViewStateCompression.aspx

+0

да .. не так красиво .. но вы знаете, что .. кто заботится .. он решил проблему так или иначе?!. . :) вы ле gend mate! .. еще раз спасибо. – user384080

+0

Я рад, что это помогло. :) – apolka

Смежные вопросы