Удалить ActionLink с помощью диалогового окна подтверждения

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

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

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

Ответ 1

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

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

Ответ 2

это маршруты, которые вы проходите в

<%= 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

Ответ 3

<%= 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.

Ответ 4

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

@Html.ActionLink("Delete", 
    "DeleteTag", new { id = t.IDTag }, 
    new { onclick = "return confirm('Do you really want to delete the tag " + @t.Tag + "?')" })

Ответ 5

Попробуйте следующее:

<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>

Ответ 6

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

введите описание изображения здесь

    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()
                )

Ответ 7

С изображением и подтверждением удаления, которое работает на 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>

Ответ 8

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()))

Ответ 9

Любое событие click before before для обновления/редактирования/удаления записей предупреждает пользователя, и если "Ok" переходит к действию, то "cancel" остается неизменным. Для этого кода не нужно править отдельный код java script. он работает для меня

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

Ответ 10

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