У меня есть 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
не вызывается.
Процесс повторяется, поэтому, если CheckBox не отмечен, проверка его приведет к срабатыванию события.
У меня состояние просмотра отключено в Web.Config, включение состояния просмотра приводит к исчезновению этой проблемы. Что можно сделать для надежного запуска события, пока состояние просмотра остается отключенным?
Update:
Если я установил Checked="true"
на теге сервера, ситуация будет обращена вспять при запуске события при снятии флажка CheckBox, но не наоборот.
Обновление 2:
Я переопределил OnLoadComplete
на своей странице и изнутри, я могу подтвердить, что Request.Form["__EVENTTARGET"]
правильно установлен на идентификатор моего CheckBox.