Удалить ActionLink с диалогом подтверждения - PullRequest
93 голосов
/ 13 января 2011

Я пытаюсь реализовать простой ActionLink, который будет удалять записи с использованием ASP.NET MVC.Это то, что у меня есть до сих пор:

<%= Html.ActionLink("Delete", 
                    "Delete", 
                    new { id = item.storyId, 
                          onclick = "return confirm('Are you sure?');" 
                        })%> 

Однако окно подтверждения не отображается.Я явно что-то упустил или неправильно построил ссылку.Кто-нибудь может помочь?

Ответы [ 10 ]

202 голосов
/ 13 января 2011

Не путайте routeValues с htmlAttributes.Вы, вероятно, хотите эту перегрузку :

<%= Html.ActionLink(
    "Delete", 
    "Delete", 
    new { id = item.storyId }, 
    new { onclick = "return confirm('Are you sure you wish to delete this article?');" }) 
%>
14 голосов
/ 13 января 2011

это маршруты, по которым вы проезжаете

<%= Html.ActionLink("Delete", "Delete",
    new { id = item.storyId }, 
    new { onclick = "return confirm('Are you sure you wish to delete this article?');" })     %>

Перегрузочный метод, который вы ищете, это:

public static MvcHtmlString ActionLink(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    Object routeValues,
    Object htmlAttributes
)

http://msdn.microsoft.com/en-us/library/dd492124.aspx

13 голосов
/ 11 марта 2013
<%= Html.ActionLink("Delete", "Delete",
    new { id = item.storyId }, 
    new { onclick = "return confirm('Are you sure you wish to delete this article?');" })     %>

Приведенный выше код работает только для Html.ActionLink.

Для

Ajax.ActionLink

используйте следующий код:

<%= Ajax.ActionLink(" ", "deleteMeeting", new { id = Model.eventID, subid = subItem.ID, fordate = forDate, forslot = forslot }, new AjaxOptions
                                            {
                                                Confirm = "Are you sure you wish to delete?",
                                                UpdateTargetId = "Appointments",
                                                HttpMethod = "Get",
                                                InsertionMode = InsertionMode.Replace,
                                                LoadingElementId = "div_loading"
                                            }, new { @class = "DeleteApointmentsforevent" })%>

Параметр «Подтвердить» указывает окно подтверждения JavaScript.

2 голосов
/ 24 сентября 2017

Используя веб-сетку вы можете найти ее здесь , ссылки на действия могут выглядеть следующим образом.

enter image description here

    grid.Column(header: "Action", format: (item) => new HtmlString(
                     Html.ActionLink(" ", "Details", new { Id = item.Id }, new { @class = "glyphicon glyphicon-info-sign" }).ToString() + " | " +
                     Html.ActionLink(" ", "Edit", new { Id = item.Id }, new { @class = "glyphicon glyphicon-edit" }).ToString() + " | " +
                     Html.ActionLink(" ", "Delete", new { Id = item.Id }, new { onclick = "return confirm('Are you sure you wish to delete this property?');", @class = "glyphicon glyphicon-trash" }).ToString()
                )
2 голосов
/ 23 февраля 2016

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

<button> @Html.ActionLink(" ", "DeletePhoto", "PhotoAndVideo", new { id = item.Id }, new { @class = "modal-link1", @OnClick = "return confirm('Are you sure you to delete this Record?');" })</button>
2 голосов
/ 12 февраля 2015

Вы также можете настроить, передав элемент удаления вместе с сообщением.В моем случае, используя MVC и Razor, я могу сделать это:

@Html.ActionLink("Delete", 
    "DeleteTag", new { id = t.IDTag }, 
    new { onclick = "return confirm('Do you really want to delete the tag " + @t.Tag + "?')" })
1 голос
/ 23 февраля 2016

С изображением и подтверждением удаления, которое работает на Mozilla Firefox

<button> @Html.ActionLink(" ", "action", "controller", new { id = item.Id }, new { @class = "modal-link1", @OnClick = "return confirm('Are you sure you to delete this Record?');" })</button>
<style>
a.modal-link{ background: URL(../../../../Content/Images/Delete.png) no-repeat center;
            display: block;
            height: 15px;
            width: 15px;

        }
</style>
0 голосов
/ 21 декабря 2018

enter image description here MVC5 с диалогом удаления и глификом. Может работать предыдущие версии.

@Html.Raw(HttpUtility.HtmlDecode(@Html.ActionLink(" ", "Action", "Controller", new { id = model.id }, new { @class = "glyphicon glyphicon-trash", @OnClick = "return confirm('Are you sure you to delete this Record?');" }).ToHtmlString()))
0 голосов
/ 25 октября 2017

Любое событие щелчка, прежде чем для обновления / редактирования / удаления записей, выводит окно предупреждения пользователя, и если «ОК», продолжите для действия, иначе «отмена» остаются без изменений. Для этого кода нет необходимости править отдельный код Java-скрипта. у меня это работает

<a asp-action="Delete" asp-route-ID="@Item.ArtistID" onclick = "return confirm('Are you sure you wish to remove this Artist?');">Delete</a>

0 голосов
/ 30 июля 2014

Вы также можете попробовать это для Html.ActionLink DeleteId

...