Ошибка проверки MAC состояния состояния - PullRequest
4 голосов
/ 12 июля 2010

Попытка запустить средство просмотра отчетов с передачей параметра, но при этом появляется ошибка:

Ошибка проверки MAC состояния представления (ASP.NET MVC)

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

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

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

какая-нибудь помощь?

1 Ответ

2 голосов
/ 12 июля 2010

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

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);
}

Мы поместили ее в представление в тегах скрипта, что не оченьКрасиво, но работает ...

Подробнее см .: Странное необработанное исключение из приложения asp.net - Ошибка проверки MAC-адреса viewstate и http://www.codeproject.com/KB/viewstate/ViewStateCompression.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...