Вызов кода сервера после кода клиента для элемента управления INSIDE AJAX PANEL - Asp.Net - PullRequest
0 голосов
/ 30 июля 2010

У меня есть код Javascript для подтверждения перед удалением некоторых записей

function confirmDelete()
{
   if(confirm('Delete all?'))
   {
      return true;
   }
   else
   {
      return false;
   }
}

У меня есть код кнопки здесь

<asp:Button ID="btnDelete" runat="server" onClientClick="return confirmDelete();" onClick="btnDelete_click" />

Если у меня кнопка снаружиПанель обновления (в основном я использую RadAjaxPanel от Telerik) работает нормально.Но когда кнопка находится внутри панели ajax, даже если я нажму OK для удаления записей, код на стороне сервера не вызывается.

Есть идеи?

1 Ответ

1 голос
/ 30 июля 2010

Ваш код добавляется в обработчик кликов, который отправляет действие обратно на сервер.Вам нужно проверить, возвращает ли ваш результат значение true / false, а затем продолжить выполнение кода, сгенерированного сервером.

  <asp:Button ID="btnDelete" runat="server"
              onClientClick="if (!confirmDelete()) { return false; }" 
              onClick="btnDelete_click" />  

Это приведет к тому, что HTML-код на стороне клиента будет выглядеть как

 <input type="submit" id="btnDelete"
        onclick="if (!confirmDelete()) { return false; } __DoPostBack... 

, что позволяетСгенерированный сервером код, который должен быть выполнен (т. е. возврат не оценивается, если не получено подтверждение).

...