Удалить ActionLink с диалогом подтверждения
Я пытаюсь реализовать простой ActionLink что будет удалять записи с помощью ASP.NET MVC. Это то, что у меня есть до сих пор:
<%= Html.ActionLink("Delete",
"Delete",
new { id = item.storyId,
onclick = "return confirm('Are you sure?');"
})%>
однако, он не показывает окно подтверждения. Очевидно, я что-то упускаю или я неправильно построил ссылку. Кто-нибудь может помочь?
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 )
<%= 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 вы можете найти его здесь ссылки действий может выглядеть следующим образом.
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>

Comments