Я действительно ненавижу эту ошибку, потому что это может быть так сложно определить.Недопустимая ошибка обратной передачи при привязке к gridview
В этом случае у меня есть страница с пользовательским элементом управления, который содержит gridview. Когда нажата кнопка для просмотра одной из записей в gridview, открывается всплывающее окно (в виде модального диалога), позволяющее пользователю редактировать поля. Затем, когда всплывающее окно закрывается, код на стороне сервера запускается, в конечном итоге приводя к строке кода, вызывающей GridView1.databind() ;. Когда эта строка кода запущена, я получу неверную ошибку обратной передачи. Если эта одна строка закомментирована, я не получаю ошибку. Это происходит независимо от того, действительно ли я делаю какие-либо изменения во всплывающем окне. И ни в коем случае не существует клиентского кода, изменяющего значения в моих элементах управления.
Итак, кажется, что что-то изменилось с помощью gridview, что ему не нравится. Я думаю, что это может иметь отношение к ObjectDataSource, который он использует. Я заметил, что до того, как gridview представляет собой привязку данных, входные параметры ODS устанавливаются с использованием значений Session. В любом случае что-то меняется там, что вызывает эту ошибку. Итак, я пробовал:
protected override void Render(System.Web.UI.HtmlTextWriter writer)
{
Page.ClientScript.RegisterForEventValidation(GridView1.UniqueID);
base.Render(writer);
}
Я также пробовал регистрировать ODS. Но ни один из подходов не решил мою проблему.
Что мне делать? Я полностью в тупике.