событие клика на стороне клиента вместо кода позади

Как я могу сделать это запустить на сервере?

javascript:
function confirm_delete()
{
  if (confirm("Are you sure you want to delete?")==true)
    return true;
  else
    return false;
}

гадюка

div.Attributes.Add("onclick", "return confirm_delete();");

javascript,asp.net,html,

2

Ответов: 1


1 принят

Чтобы захватить событие на стороне сервера, вам нужно использовать runat="server":

<form runat="server">
    <asp:Button id="button1" Text="Click me!" runat="server" OnClick="confirm_delete" />
</form>

Сам обработчик события должен быть в коде позади. Я не помню, поддерживается ли JScript в ASP.net, но confirmопределенно нет.

Чтобы запустить его на сервере, вы должны реорганизовать ваше приложение. Вам понадобится confirm_deleteфункция для отображения страницы с формой, которая подтверждает их действие. Это не так уж и плохо, потому что вы можете просто спрятать его там. confirm_deleteскрыл бы нормальный контент и показал бы форму подтверждения. В форме подтверждения должны быть кнопки «ОК» или «Отмена», также подключенные к внутренним обработчикам событий, которые либо выполняют удаление (я предполагаю, что это то место, где сервер OnClickуже подключен), либо возвращают вас к полному просмотру страницы.

Это намного сложнее, чем всплывающее окно подтверждения JavaScript, но это не так уж и страшно.

JavaScript, asp.net, HTML,
Похожие вопросы