Soy nuevo en todas las cosas .NET. Tengo una página web muy básica con un formulario HTML. Quiero 'onsubmit' para enviar los datos del formulario desde la Vista al Controlador. He visto publicaciones similares a esta, pero ninguna tiene respuestas que impliquen la sintaxis Razor nueva. ¿Qué hago con 'onsubmit' y cómo accedo a los datos desde el Controlador? ¡¡Gracias!!ASP.NET MVC 3 Razor: Pasar datos de la vista al controlador
Respuesta
Puede ajustar los controles de vista que desea pasar en Html.Beginform.
Por ejemplo:
@using (Html.BeginForm("ActionMethodName","ControllerName"))
{
... your input, labels, textboxes and other html controls go here
<input class="button" id="submit" type="submit" value="Submit" />
}
Cuando se pulsa el botón Enviar todo dentro de Beginform de que se presentará a su método de "ActionMethodName" del controlador "ControllerName".
en el lado del controlador puede acceder a todos los datos recibidos desde la vista de la siguiente manera:
public ActionResult ActionMethodName(FormCollection collection)
{
string userName = collection.Get("username-input");
}
colección objetivo anterior contendrá todas las entradas de entrada que hemos presentado de la forma. Se puede acceder a ellos por su nombre al igual que accedería a cualquier matriz: colección [ "bla"] o collection.Get ("bla")
También puede pasar parámetros a sus controladores directamente sin necesidad de enviar toda la página con FormCollection:
@using (Html.BeginForm("ActionMethodName","ControllerName",new {id = param1, name = param2}))
{
... your input, labels, textboxes and other html controls go here
<input class="button" id="submit" type="submit" value="Submit" />
}
public ActionResult ActionMethodName(string id,string name)
{
string myId = id;
string myName = name;
}
O puede combinar ambos métodos y pasar parámetros específicos junto con Formcollection. Tu decides.
Espero que ayude.
editar: mientras escribía, otros usuarios lo referían a algunos enlaces útiles también. Echar un vistazo.
Definir una forma de la siguiente manera:
@using (Html.BeginForm("ControllerMethod", "ControllerName", FormMethod.Post))
hará una llamada al método "ControllerMethod" en el controlador "ControllerName". En el método, puede aceptar un modelo u otros tipos de datos como entradas. Consulte el tutorial this para ejemplos que usan formularios y razor mvc.
- 1. ASP.NET MVC Pasar datos de la vista al controlador
- 2. ASP.NET MVC - pasar parámetros al controlador
- 3. ASP.NET MVC 3 Razor View Restrictions
- 4. ASP.NET MVC 3 Razor plantillas VS renderPartial
- 5. Cómo pasar la lista del controlador a la vista en MVC 3.
- 6. ASP.Net MVC 3 Razor Concatenate cadena
- 7. ASP.NET MVC 3 Razor función recursiva
- 8. ASP.NET MVC 3 Sintaxis Razor - Casting
- 9. ASP.Net MVC 3 Razor Response.Write position
- 10. ASP.NET MVC 3 Razor el rendimiento
- 11. ASP.NET MVC acción 3 controlador de vista parcial
- 12. Cómo pasar el datetime de la vista al controlador en asp.net MVC
- 13. ASP.net MVC 3 Razor - jQuery Intellisense
- 14. Alojamiento ASP.NET MVC 3 Razor Engine Site
- 15. Ventana emergente Razor MVC 3
- 16. MVC 3 Razor - Validación de activación desde el controlador
- 17. ASP.Net MVC 3 ViewModel Anotaciones de datos
- 18. "UpdatePanel" en Razor (mvc 3)
- 19. ASP.NET MVC Razor diseñador
- 20. ASP.NET MVC Razor: Cómo renderizar un HTML de la vista parcial de Razor dentro de la acción del controlador
- 21. ASP.NET MVC pasar un ID en una ActionLink al controlador
- 22. ASP.NET MVC - ¿Cómo pasar una matriz a la vista?
- 23. ASP.NET MVC 3 Razor: Inicializar una matriz de JavaScript
- 24. MVC 3 -ASP.NET Redirigir a vista diferente
- 25. ASP.NET MVC 3 Vista parcial en la página de diseño
- 26. ASHX handler con ASP.NET MVC 3 y Razor
- 27. pase el diccionario al controlador asp.net mvc
- 28. MVC ASP.NET o Razor
- 29. ¿Cómo pasar múltiples modelos a la vista en ASP.NET MVC?
- 30. ASP.NET MVC Razor concatenación
Genial, muchas gracias! –
Para la combinación también puede hacer esto: HttpContext.Request.Form ["index"]; de esta forma, no es necesario agregar FormCollection en los parámetros. –