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



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



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


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

609   9  

9 ответов:

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

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

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

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

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

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

на

"Аякса".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" })%>

параметр 'Confirm' указывает поле подтверждения javascript.

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

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

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

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

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

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

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

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

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

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

Comments

    Ничего не найдено.