Tengo un proyecto ASP.NET MVC y tengo una sola acción que acepta solicitudes GET, POST y DELETE. Cada tipo de solicitud se filtra mediante atributos en mis controladores Action
métodos.¿Es posible activar una solicitud HTTP DELETE desde un formulario HTML?
[ActionName(Constants.AdministrationGraphDashboardAction),
AcceptVerbs(HttpVerbs.Post)]
public ActionResult GraphAdd([ModelBinder(typeof (GraphDescriptorBinder))] GraphDescriptor details);
[ActionName(Constants.AdministrationGraphDashboardAction),
AcceptVerbs(HttpVerbs.Delete)]
public ActionResult GraphDelete([ModelBinder(typeof (RdfUriBinder))] RdfUri graphUri)
Tengo mi método GraphAdd
trabajando muy bien. Lo que estoy tratando de averiguar es cómo puedo crear un HTML <form />
o <a />
(enlace) que hará que el navegador realice una solicitud HTTP Delete y active mi método GraphDelete.
Si hay una forma de hacerlo, ¿alguien puede publicar un ejemplo de HTML y, si está disponible, el método MVC HtmlHelper que debería utilizar?
¡Gran respuesta gracias Owen! –
Espero que HTML5 aumente el soporte para verbos HTTP. – lupefiasco
Para Asp Mvc, existe algo como HttpMethodOverride http://msdn.microsoft.com/en-us/library/ee407388(v=vs.118).aspx. Esto funciona haciendo que el navegador envíe un formulario POST con un campo oculto que anula el método utilizado al determinar qué acción del controlador invocar dentro del motor de enrutamiento .Net. –