asp.net mvc - page - Eliminar ActionLink con diálogo de confirmación
html.actionlink image (9)
Estoy tratando de implementar un ActionLink
simple que eliminará registros usando ASP.NET MVC. Esto es lo que tengo hasta ahora:
<%= Html.ActionLink("Delete",
"Delete",
new { id = item.storyId,
onclick = "return confirm(''Are you sure?'');"
})%>
Sin embargo, no muestra el cuadro de confirmación. Claramente me falta algo o he construido incorrectamente el enlace. ¿Alguien puede ayudar?
Con imagen y confirmación en delete, que funciona en 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>
Cualquier cuadro de mensaje de evento de clic antes de actualizar / editar / eliminar registros alerta al usuario y si "Ok" procede para la acción, de lo contrario, "cancelar" permanecerá sin cambios. Para este código, no es necesario corregir el código del script java por separado. esto funciona para mi
<a asp-action="Delete" asp-route-ID="@Item.ArtistID" onclick = "return confirm(''Are you sure you wish to remove this Artist?'');">Delete</a>
No confunda routeValues
con htmlAttributes
. Probablemente quieras esta sobrecarga :
<%= Html.ActionLink(
"Delete",
"Delete",
new { id = item.storyId },
new { onclick = "return confirm(''Are you sure you wish to delete this article?'');" })
%>
Prueba esto :
<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>
También puede personalizarla pasando el elemento de eliminación junto con el mensaje. En mi caso usando MVC y Razor, entonces podría hacer esto:
@Html.ActionLink("Delete",
"DeleteTag", new { id = t.IDTag },
new { onclick = "return confirm(''Do you really want to delete the tag " + @t.Tag + "?'')" })
También puedes probar esto para Html.ActionLink DeleteId
Utilizando webgrid puede encontrarlo aquí , los enlaces de acción podrían ser similares a los siguientes.
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()
)
esas son rutas que estás pasando
<%= Html.ActionLink("Delete", "Delete",
new { id = item.storyId },
new { onclick = "return confirm(''Are you sure you wish to delete this article?'');" }) %>
El método sobrecargado que estás buscando es este:
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?'');" }) %>
El código anterior solo funciona para Html.ActionLink.
por
Ajax.ActionLink
usa el siguiente código:
<%= 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" })%>
La opción ''Confirmar'' especifica el cuadro de confirmación de javascript.