miércoles, 21 de agosto de 2019

Begin Form ASP.NET MVC

@BeginForm() : sirve para iniciarlizar formularios en asp.net.

En su forma basica a continuacion se detalla la manera en la cual mediante una clase "Estudiante.cs" se puede instanciar un formulario de tipo get y post

EJEMPLO:

Se crea la clase "Estudiante"con validaciones dentro del "HomeController.cs"

public class Estudiante
    {
        [Display(Name = "Ingresa un nombre")]
        [Required(ErrorMessage = "El campo nombre es requerido")]
        public string Nombre { get; set; }

        [Display(Name = "Ingresa tu apellido")]
        [Required(ErrorMessage = "El campo apellido es requerido")]
        public string Apellido { get; set; }

        [Display(Name = "Ingresa la edad")]
        [Required(ErrorMessage = "El campo edad es requerido")]
        public int Edad { get; set; }
    }

Posterior a ello se crea la vista dento del index1 de "HomeController.cs"

@model WebApplication2.Controllers.Estudiante

@{
//Layout = null;
}

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Index1</title>
</head>
<body>
    <h3>@ViewBag.Nombre</h3>
    <div>
        @using (Html.BeginForm())
        {
            <div>
                @Html.LabelFor(model => model.Nombre)
                @Html.EditorFor(model => model.Nombre)
            </div>
            <div>
                @Html.LabelFor(model => model.Apellido)
                @Html.EditorFor(model => model.Apellido)
            </div>
            <div>
                @Html.LabelFor(model => model.Edad)
                @Html.EditorFor(model => model.Edad)
            </div>

            <input type="submit" value="Enviar Información" />
        }
    </div>
</body>
</html>

Echo esto, se observa los metodos GET y POST de index1 que son los que revuelven toda la lógica de este manejo.

[HttpGet]
        public ActionResult Index1()
        {
            return View();
        }

        [HttpPost]
        public ActionResult Index1(Estudiante estudiante)
        {
            ViewBag.Nombre = $"Bienvenido, {estudiante.Nombre} {estudiante.Apellido}";

            estudiante.Edad = 99;

            return View();
        }

Este metodo tiene as siguientes sobrecargas
@Html.BeginForm("ActionName", "Controller", "Metodo")





No hay comentarios.:

Publicar un comentario