Lo que estoy tratando de hacer: Trate de eliminar un registro utilizando una "correcta" HTTP Delete.Problemas al hacer un HTTP Delete correcto con Ajax.ActionLink
Código de control:
[HttpDelete]
public void DeleteRun(int RunId)
{
repository.RemoveEntry(RunId);
}
Razor Ver:
@Ajax.ActionLink("Delete","DeleteRun",new {RunId = run.RunId},
new AjaxOptions() { Confirm = "Are you sure you want to delete this entry?",
HttpMethod = "DELETE",
OnComplete = string.Format("DeleteRunInTable({0})",run.RunId)
})
Javascript (en el archivo incluido por separado):
function DeleteRunInTable(RunId) {
$("tr[data-runid=" + RunId).remove();
}
Enlace el método ActionLink está creando:
<a data-ajax="true" data-ajax-complete="DeleteRunInTable(11)" data-ajax-confirm="Are you sure you want to delete this entry?" data-ajax-method="DELETE" href="/Runs/Delete/11">Delete</a>
No estoy seguro de si la parte de JavaScript funciona todavía pero no me preocupa. Intentando dar un paso a la vez :). Ahora solo funciona como una etiqueta tradicional y cuando hago clic en el enlace solo hace una solicitud GET del href. Por supuesto, recibo un error 404 debido a [HTTPDelete] que puse en mi controlador. Soy bastante nuevo en el desarrollo web, así que estoy seguro de que hay otras formas en javascript o jquery para hacer lo mismo, pero estoy haciendo lo que sé en este momento.
Gracias por la respuesta ... En realidad, los eliminé. Pensé que no los necesitaban. Pensé que ajax.actionlink usaría jquery. ¿Me equivoco? Si recuerdo correctamente en pluralsight, estaba viendo uno de los videos con K Scott Allen y él eliminó los dos scripts microshotsoft ajax cuando estaba usando ajax.actionslink. Soy bastante novato en esto, así que tal vez actionlink utiliza scripts de Microsoft Ajax en ciertos casos y en otros casos no. No estoy seguro :) – coding4fun
Gracias fue mi culpa. Los scripts de microsoft ajax donde no es necesario aparecen. Extrañé un script en la página del que no tenía conocimiento: jquery.unobtrusive-ajax.min.js. Probablemente mi próxima pregunta aquí sea si hay una buena manera de saber cuándo falta una secuencia de comandos de la página en lugar de solo (no funciona): P. – coding4fun
ahh genial, tenía la sensación de que era un guión perdido ... simplemente no era el correcto :) He actualizado mi respuesta para reflejar el guión correcto en caso de que los futuros usuarios tengan el mismo problema y no lean el comentarios – lomaxx