У меня есть страница, которая содержит некоторые поля поиска для запроса базы данных и отображения результатов. Для просмотра списков элементов в выпадающих списках требуется viewstate.Viewstate сбой только в IE
Все работает отлично в Firefox (3) & Chrome, но не работает в Internet Explorer, но только иногда (некоторые действия, такие как сброс формы, которая действительно просто выполняет response.redirect с некоторыми параметрами querystring) ... то, что происходит в Viewstate, сбрасывается по URL-адресу, и появляется страница с ошибкой.
Неужели кто-то сталкивался с этим раньше? Возможно, некоторые указатели на то, что может вызвать это в IE?
Благодарности куч,
Greg
UPDATE:
При дальнейшем исследовании, я определил, что фактическая ошибка заключается в следующем:
«Валидация ViewState MAC не удалось Если. это приложение размещено веб-фермой или кластером, убедитесь, что в конфигурации указан один и тот же алгоритм validationKey и валидации. AutoGenerate не может использоваться в кластере ».
Дополнительная информация, которая может помочь: Это вызвано пользовательским элементом управления, который размещается в системе управления контентом (Umbraco), что может иметь какое-то отношение к тому, почему представление просматривается на странице (как управление содержится на большей странице в CMS). Я исследую это немного дальше, но любые другие предложения будут высоко оценены.
веселит Greg
UPDATE 2:
Может кто-нибудь предложить, почему это происходит только в IE (и не в FF или Chrome) ?? Кажется, вряд ли это проблема с изменением элементов управления или машинных клавиш или других предложений, которые я читал по всему месту, если другие браузеры справятся с этим хорошо.
Любые идеи, что IE делает по-другому, что может вызвать эту ошибку?
РЕШЕНИЕ:
Оказывается, это была действительно глупая проблема - я использовал неправильный мастер-шаблона в CMS, и, следовательно, имел 2 теги формы. Удалите дополнительный тег формы, проблема решена!
Спасибо, что кучи для bendewey помогли мне решить эту проблему (см. Комментарии в сообщении bendewey).
Это 4 часа моей жизни, я бы хотел вернуться ... но рад, что я могу двигаться дальше. Еще раз спасибо Stack Overflow community :)
Это помогло бы, если бы вы могли объяснить немного больше о перенаправлении и объяснить, что вы имеете в виду «сброс состояния просмотра по URL-адресу». – jeremcc
перенаправление выглядит следующим образом: Response.Redirect (String.Concat (strPageUrl, "? Reset = true")); , что он сделал что-то вроде этого: HTTP: //domain/page.aspx _VIEWSTATE = afdfkhadkjhqkjdasf Во всяком случае ее решить - была вызвана несколькими тегами формы (как упоминалось выше) – Jeeby