У меня есть CheckBox в форме содержимого ASP.NET, например:
<asp:CheckBox runat="server" ID="chkTest" AutoPostBack="true" OnCheckedChanged="chkTest_CheckedChanged" />
В моем коде позади у меня есть следующий метод:
protected void chkTest_CheckedChanged(object sender, EventArgs e)
{
}
Когда я загружаю страницу в браузер и нажимаю CheckBox, она становится отмеченной, страница отправляется обратно, и я вижу, что вызывается chkTest_CheckedChanged
.
Когда я снова нажимаю CheckBox, он становится не отмеченным, страница отправляется обратно, однако chkTest_CheckedChanged
не вызывается.
Процесс повторяется, поэтому, если флажок снят, проверка вызовет событие.
У меня состояние просмотра отключено в Web.Config, включение состояния просмотра приводит к исчезновению этой проблемы. Что я могу сделать, чтобы событие срабатывало надежно, когда состояние просмотра остается отключенным?
Обновление: если я установил Checked="true"
в теге сервера, ситуация изменится на обратную, при снятии флажка CheckBox срабатывает событие, но не наоборот.
Обновление 2: я переопределил OnLoadComplete
на своей странице и оттуда могу подтвердить, что Request.Form["__EVENTTARGET"]
правильно установлен на идентификатор моего флажка.