none
Vista Index Editable RRS feed

  • Pregunta

  • Hola,  estoy interesado en realizar una aplicacion con una vista Index, pero que en esta se puedan editar algunos datos y cuando se haya terminado la edicion presionar un boton de Almacenamiento a la BD.

    O dicho de otro modo que la Vista Edit la pueda convertir en un listado editable

    Me podrian facilitar un ejemplo.

    Gracias.


    Evargasc
    jueves, 9 de diciembre de 2010 15:36

Respuestas

  • Buenas!

    No termino de entender tu pregunta... Que es lo que quieres hacer exactamente? La edición de datos en MVC es extremadamente simple.

    Te bastan dos acciones, en el controlador: La primera accessible por GET mostrará la página, la segunda accesible por POST recibirá los datos del formulario y los guardará en la BBDD:

        public ActionResult Index()
        {
          return View();
        }
    
        [HttpPost]
        public ActionResult Index(DemoData dd)
        {
          // En dd tenemos los datos => Los guardamos en la bbdd
          // Finalmente redireccionamos el usuario (en este caso a /Home/Index)
          return RedirectToAction("Index", "Home");
        }
    

    El siguiente paso es declarar la clase DemoData que te sirve para contener los datos. Eso ya dependerá de tus necesidades. En este caso un nombre y una edad:

      public class DemoData
      {
        public string Nombre { get; set; }
        public int Edad { get; set; }
      }
    

    Y finalmente la vista (en la c:arpeta /Demo/Views). La vista debe declarar un <form> que tenga 2 <input type="text"> (los textboxes) y cuyo atributo name tenga el mismo valor que las propiedades de DemoData:

        <%using (Html.BeginForm("Index")) { %>
          Nombre: <input type="text" name="Nombre" /> <br />
          Edad: <input type="text" name="Edad" /><br />
          <input type="submit" value="Enviar!" />
        <% } %>
    

    He usado eh helper Html.BeginForm que renderiza el tag <form> con el method a post y el action con la URL correspondiente a la acción que le he pasado. Fíjate que la acción es Index pero se enrutará por el método Index(DemoData dd) del controlador porque ese método está decorado con HttpPost y el formulario se envía via POST.

    Y listos... :)

    Saludos!


    Eduard Tomàs Blog: http://geeks.ms/blogs/etomas -- Twitter: eiximenis
    • Marcado como respuesta Eder Costa viernes, 5 de octubre de 2012 14:12
    viernes, 10 de diciembre de 2010 9:25