У меня есть страница корзины покупок (Cart.aspx), на которой есть кнопка, которая будет (иногда) отправлять сообщения стороннему платежному шлюзу, если оплата необходима. Платежный шлюз обработает платеж и затем отправит сообщение на мой веб-сайт (Order.aspx), чтобы я мог обновить статус заказа.
Order.aspx всегда выдает недопустимую ошибку состояния представления, даже если состояние просмотра на странице отключено.
То, что происходит, - то, что Cart.aspx (у которого включено viewstate) отправляет сообщения к платежному шлюзу, и шлюз отправит это назад как часть тихого сообщения. Несмотря на то, что в Order.aspx состояние представления отключено и проверка отключена, он все равно пытается проверить поле __viewstate, которое ему дается.
Я знаю, что настройка EnableViewState=false
отключит рендеринг поля __viewstate, но если это поле есть на другой странице, не должно ли оно по-прежнему пропускать проверку?
Я пытался вызвать ViewState.Clear()
в событии Page_Init
файла Order.aspx, но ViewState явно пуст.
Любые предложения о том, как обойти это? Я не хочу отключать ViewState на Cart.aspx (в некоторых случаях это может быть необходимо), но я не могу понять, как очистить его на Order.aspx.