2009-05-12 4 views
2

Я действительно ненавижу эту ошибку, потому что это может быть так сложно определить.Недопустимая ошибка обратной передачи при привязке к 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. Но ни один из подходов не решил мою проблему.

Что мне делать? Я полностью в тупике.

ответ

1

Я уверен, что неверная обратная ошибка возникает из-за помещения вашего вызова функции привязки данных в Page_Load.

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