textareafor mvc example dropdownlist asp html asp.net-mvc

mvc - ¿Es posible activar una solicitud HTTP DELETE desde un formulario HTML?



mvc html helpers textarea (2)

No creo que esto sea posible. el atributo de método de los elementos de formulario en HTML4 y XHTML 1.0 solo aceptará GET o POST. Además, las configuraciones estándar de la mayoría de los servidores web negarán las solicitudes DELETE y PUT. suponiendo que haya configurado su servidor web para permitir métodos como PUT / DELETE (como lo hace WebDav), podría crear su propia solicitud HTTP:

DELETE /resource.html HTTP/1.1 Host: domain.com

y manejarlo apropiadamente. sin embargo, no hay forma de hacerlo a través de un formulario HTML actual. por el interés, hay algo de debate para DELETE soporte en HTML5.

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. Métodos de Action .

[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 funcionando muy bien. Lo que estoy tratando de averiguar es cómo puedo crear un <form /> o <a /> (enlace) HTML que haga que el navegador realice una solicitud HTTP Delete y active mi método GraphDelete.

Si hay una manera de hacerlo, ¿alguien puede publicar un ejemplo de HTML y, si está disponible, el método MVC HtmlHelper que debería utilizar?


Al usar XMLHttpRequest, no solo es la "mejor práctica", sino que es la única forma.