Necesito que la acción POST sea para una URL absoluta (por ejemplo, http://www.cnn.com). ¿Hay alguna forma de utilizar el helper Html.BeginForm() y pasarle la url?Html.BeginForm() con una URL absoluta?
Respuesta
Todo lo que hace el método HtmlHelper.BeginForm
es ayudarle a crear una etiqueta <form>
dirigida a un controlador local. Si usted está enviando a un sitio externo, acaba de escribir la etiqueta <form>
real, es decir
<form action="http://www.example.com/someaction" method="post">
Actual form content in here
</form>
Eso es todo lo que hay que hacer. Los formularios MVC no son como los formularios en ASP.NET WebForms donde tiene un montón de ViewState y campos de eventos y otros elementos mágicos. Simplemente son viejos formularios HTML normales.
verificación del código fuente de MVC, el método html.beginform no sólo crear sólo la forma html nativa, sino también añadir algo de validación del cliente que acaba quiero,
if (htmlHelper.ViewContext.ClientValidationEnabled)
{
htmlHelper.ViewContext.FormContext.FormId = tagBuilder.Attributes["id"];
}
por lo que habrá un problema, i simplemente escriba mi propia extensión
El método BeginForm tiene varias sobrecargas. Con el fin de establecer el atributo de acción en la etiqueta de formulario con la dirección URL deseada, es necesario utilizar después de la sobrecarga de BeginForm:
BeginForm(String, String, FormMethod, IDictionary<String, Object>)
// here are the parameter names:
BeginForm(actionName, controllerName, method, htmlAttributes)
Puesto que usted desea publicar en un sitio externo, no hay necesidad de establecer actionName y controllerName, simplemente déjalos como nulos.
@Html.BeginForm(
null, null, FormMethod.Post, new {@action="http://cnn.com/post"}
)
Esto no codificará el parámetro de acción.
Esto me ahorró tiempo. ¡Genial! – Govind
- 1. Aplicar URL relativa a una URL absoluta
- 2. obtener la URL absoluta con EL
- 3. ASP.NET MVC ActionLink con LinkText = URL absoluta
- 4. Url absoluta en jsp
- 5. Html.BeginForm pierde routeValues con FormMethod.GET
- 6. cambiar una dirección URL relativa a la URL absoluta
- 7. Html.BeginForm con múltiples htmlAttributes
- 8. Spring MVC problema absoluta URL
- 9. Html.BeginForm con atributos html asp.net mvc4
- 10. Html.BeginForm() con el método GET
- 11. Obteniendo una URL absoluta de una relativa. (Tema IE6)
- 12. ¿Cómo configuro una URL de CSS en una ubicación absoluta?
- 13. Asp .Net MVC RedirectToAction con la URL absoluta
- 14. URL absoluta de la base + URL relativa en C#
- 15. Ruta de archivo absoluta a URL relativa
- 16. La construcción de una URL absoluta de una dirección URL relativa en Java
- 17. obtener la URL absoluta (base) en Sinatra
- 18. URL absoluta de la ruta relativa
- 19. Asp MVC Enlace de acción url absoluta
- 20. ¿Cómo obtener una URL absoluta de webapp desde ExternalContext?
- 21. ¿Cómo puedo verificar si una URL es absoluta usando Python?
- 22. Obtener ruta absoluta de una url en java
- 23. Asp.Net Ruta de acceso absoluta de una URL
- 24. MVC Html.BeginForm utilizando Áreas
- 25. Wicket: En relación con la URL absoluta o conseguir URL base
- 26. ¿Por qué Html.BeginForm genera una acción vacía?
- 27. Ajax.BeginForm dentro de Html.BeginForm
- 28. determinar si una cadena es URL absoluta o URL relativa en java
- 29. Rieles: creación de una URL absoluta en el atributo virtual de un modelo sin url helper
- 30. Symfony2/Twig: ¿Generar una ruta URL alternativa absoluta para usar con CDN?
Sí, lo hice. Pero me preguntaba si me estaba perdiendo algo en MVC (viniendo de RoR Land, hay un método de forma {url =()}. Thx. – dale
puede haber algunos problemas relacionados con la validación que no se crean para usted si usted crea el formulario manualmente, así que tenga cuidado si usa la validación MVC con jQuery –
Como señaló simon weaver, si no usa el marco de validación HtmlHelper no funciona. Me encontré con este problema yo mismo – Zasz