ASP. NET Обработка событий управления веб-формами по сравнению с JavaScript - PullRequest
0 голосов
/ 03 августа 2020

Для следующего сценария, кажется, есть два подхода. Этот пример предназначен для флажка «Выбрать все» в заголовке 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 более надежным для получения уведомлений о том, что эти флажки были нажаты.

...