Для следующего сценария, кажется, есть два подхода. Этот пример предназначен для флажка «Выбрать все» в заголовке GridView, но мне также интересно, можно ли это рассмотреть с другими элементами управления (например, asp: нажатие кнопки). Мне также интересно, существует ли этот компромисс не только в ASP. NET Обработка событий веб-форм (против JavaScript), но и в другой внутренней обработке событий (против JavaScript).
ЗАЯВЛЕНИЕ О ПРОБЛЕМЕ:
При необходимости обрабатывать, когда GridView в приложении ASP. NET Web Form, я исследовал методы для получения уведомления о том, что был установлен флажок заголовка Select All. Сначала я нашел это решение, которое предлагало использовать JavaScript для обработки щелчка заголовка (и щелчков флажка строки):
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="checkAll" runat="server" onclick = "checkAll(this);" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="rowCheck" runat="server" onclick = "Check_Click(this)" />
</ItemTemplate>
</asp:TemplateField>
Поскольку я зашел так далеко в приложении, не задействуя никаких JavaScript, Я посмотрел, существует ли решение, включающее только врожденную обработку событий, и обнаружил:
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="checkAll" runat="server" OnCheckChanged="checkAll_OnCheckChanged" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="rowCheck" runat="server" OnCheckChanged="rowCheck_OnCheckChanged" />
</ItemTemplate>
</asp:TemplateField>
Хотя я знаю, что мог бы сделать это с JavaScript, я выбрал внутреннюю обработку событий.
Вопрос в том, каковы аргументы в пользу использования способа JavaScript? (последний пример здесь отлично работает). Мне просто интересно, является ли JavaScript более надежным для получения уведомлений о том, что эти флажки были нажаты.