Как добавить параметр «подтвердить удаление» в 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 в Android?
  • Lazy загружает изображения в gridView
  • Полная обратная передача, вызванная LinkButton внутри GridView внутри UpdatePanel
  • Экспорт GridView в несколько листов Excel
  • Пересечение столбцов GridLayoutManager Android Recyclerview
  • GridView связан с свойствами вложенного classа
  • добавление текстового интерфейса для перетаскивания - Android / Java
  • Отображение изображений из определенной папки на SD-карте с использованием gridview
  • Как реализовать Yii2 Modal Dialog на кнопке просмотра и обновления Gridview?
  • как связать выпадающий список в gridview?
  • Как получить значение ячейки по имени столбца не по индексу в GridView в asp.net
  • Interesting Posts

    «Лучшие сайты» – Управление основными сайтами по умолчанию в Safari

    Ошибка обновления Windows 8.1 с кодом ошибки 0xc1900101-0x20017

    Предотвратить доступ пользователя к ранее посещаемой защищенной странице после выхода из системы

    Почему инструкции x86-64 на 32-разрядных регистрах обнуляют верхнюю часть полного 64-битного регистра?

    Округление до произвольного количества значащих цифр

    jQuery: скрыть всплывающее окно, если щелчок обнаружен в другом месте

    Изменить часовой пояс в объекте POSIXct

    Как запустить процесс в фоновом режиме, не открывая пакетный файл?

    Какую скорость загрузки я должен ожидать?

    Как синхронизировать свой календарь Outlook с Календарем Google (желательно с помощью бесплатного / открытого исходного кода)?

    Как увидеть JavaDoc в IntelliJ IDEA?

    Радиус многоканального изображения в RGB

    Переместить все файлы из нескольких подпапок в родительскую папку

    Дифф-алгоритм?

    NSOperation на iPhone

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