Как добавить параметр «подтвердить удаление» в ASP.Net Gridview?

Как добавить параметр «подтвердить удаление» в ASP.Net Gridview?

Это должно сделать это.

Я нашел его здесь: http://forums.asp.net/p/1331581/2678206.aspx

     

Если ваш Gridview используется с AutoGenerateDeleteButton="true" , вы можете преобразовать его в LinkButton :

  1. Нажмите « Задачи GridView», а затем « Редактировать столбцы» . https://www.flickr.com/photos/32784002@N02/15395933069/

  2. Выберите « Удалить» в выбранных полях и нажмите « Преобразовать это поле» в TemplateField . Затем нажмите « ОК» : https://www.flickr.com/photos/32784002@N02/15579904611/

  3. Теперь будет создан ваш LinkButton . Вы можете добавить событие LinkButton в LinkButton следующим образом:
    OnClientClick="return confirm('Are you sure you want to delete?'); "

Я сделал это немного по-другому. В моем gridview я устанавливаю AutoGenerateDeleteButton="true" . Чтобы найти кнопку удаления, я использую jQuery и добавляю событие click к найденным Anchors.

 jQuery("a").filter(function () { return this.innerHTML.indexOf("Delete") == 0; }).click(function () { return confirm("Are you sure you want to delete this record?"); }); 

Это быстро и просто для того, что мне нужно делать. Просто помните, что каждый якорь на странице, отображающей Delete, будет выбран jQuery и будет добавлен к нему событие.

Вы можете использовать кнопку OnClientClick.

 OnClientClick="return confirm('confirm delete')" 

Я не хотел никакого изображения, поэтому я изменил ответ, данный @statmaster, чтобы сделать его простой запись вместе с другими столбцами.

   Delete    

Цвет текста можно изменить с помощью свойства Forecolor.

Мне нравится этот способ добавления запроса подтверждения перед удалением записи из gridview. Это определение CommandField, nested в веб-элемент управления GridView на странице aspx. Здесь нет ничего необычного – просто прямое Командное поле.

    

Мне очень нравится добавлять код в событие GridView RowDataBound чтобы сообщить пользователю точно, какой элемент они пытаются удалить. Чуть лучше пользовательский интерфейс?

 protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { LinkButton lnkBtnDelete = e.Row.FindControl("lnkBtnDelete") as LinkButton; // Use whatever control you want to show in the confirmation message Label lblContactName = e.Row.FindControl("lblContactName") as Label; lnkBtnDelete.Attributes.Add("onclick", string.Format("return confirm('Are you sure you want to delete the contact {0}?');", lblContactName.Text)); } } 

Это мой предпочтительный метод. Довольно прямо:

http://www.codeproject.com/KB/webforms/GridViewConfirmDelete.aspx

Попробуй это:

Я использовал кнопки « Обновить» и « Удалить» . Он не касается кнопки « Редактировать» . Вы можете использовать автоматически сгенерированные кнопки.

  protected void gvOperators_OnRowDataBound(object sender, GridViewRowEventArgs e) { if(e.Row.RowType != DataControlRowType.DataRow) return; var updateButton = (LinkButton)e.Row.Cells[0].Controls[0]; if (updateButton.Text == "Update") { updateButton.OnClientClick = "return confirm('Do you really want to update?');"; } var deleteButton = (LinkButton)e.Row.Cells[0].Controls[2]; if (deleteButton.Text == "Delete") { deleteButton.OnClientClick = "return confirm('Do you really want to delete?');"; } } 

У меня возникли проблемы с получением кнопки CommandField Delete, чтобы почтить ответ «return false», когда пользователь нажал кнопку «Отменить» во всплывающем окне «Вы уверены», с помощью функции подтверждения javascript (). Я не хотел менять его в поле шаблона.

Проблема, как я вижу, заключалась в том, что у этих кнопок CommandField уже есть связанный с ними Javascript для выполнения обратной передачи. Не было достаточно просто добавить функцию confirm ().

Вот как я это решил:

Используя JQuery, я сначала нашел каждую кнопку удаления на странице (их несколько), а затем обработал связанный с ним Javascript на основе того, согласился ли посетитель или отменил подтверждающее всплывающее окно.

  

Этот код работает отлично для меня.

 jQuery("a").filter(function () { return this.innerHTML.indexOf("Delete") == 0; }).click(function () { return confirm("Are you sure you want to delete this record?"); }); 

Мне нравится решение для JavaScript и некоторые обновления для работы с динамической загрузкой ajax:

  $(document).on("click", "a", function () { if (this.innerHTML.indexOf("Delete") == 0) { return confirm("Are you sure you want to delete this record?"); } }); 

Надеюсь, что это поможет;)

  • Сортировка GridView: SortDirection всегда по возрастанию
  • Высота Gridview снижается
  • Простой пример сетки Android, использующий RecyclerView с GridLayoutManager (например, старый GridView)
  • Отображение изображений из определенной папки на SD-карте с использованием gridview
  • Изменение цвета ячейки на разные значения - Gridview
  • GridView связан с свойствами вложенного classа
  • Как реализовать выбор полной строки в GridView без кнопки выбора?
  • Пейджинговые и сортировочные сетки с ASP.Net MVC
  • Как отключить прокрутку GridView в Android?
  • Как найти элемент управления в TemplateField GridView?
  • Как скрыть столбцы в ASP.NET GridView с автогенерированными столбцами?
  • Interesting Posts

    Переместить уже (т.е. не новые) завершенные файлы в rtorrent

    Импорт двух функций с одинаковым именем с помощью roxygen2

    getline работает неправильно? Каковы могут быть причины?

    Сделать часть текста ярлыка в стиле жирным шрифтом

    Как получить метки данных для гистограммы в ggplot2?

    Самый быстрый способ вычисления 128-битного целого по модулю 64-разрядного целого числа

    Поиск в Microsoft Office

    Как я могу открыть 32-разрядный администратор источника данных ODBC в 64-разрядной версии Windows 7?

    Зачем использовать библиотеку Android Picasso для загрузки изображений?

    Как конвертировать веб-страницу в PDF-файл?

    TextView.setTextSize ведет себя ненормально – как установить размер текстового изображения динамически для разных экранов

    Должен ли я объединить два похожих ядра с выражением «if», рискуя потерями производительности?

    HTTP POST с параметрами запроса URL – хорошая идея или нет?

    Печать rpath исполняемого файла в OSX

    Есть ли у Java HashMap с обратным поиском?

    Давайте будем гением компьютера.