Ir a contenido


MENSAJE DE BIENVENIDA Foro vínculado con Twitter, más info aquí.

“El secreto para progresar es empezar por algún lugar. El secreto para empezar por algún lugar es fragmentar tus complejas y abrumadoras tareas de tal manera que queden convertidas en pequeñas tareas que puedas realizar y entonces simplemente comenzar por la primera.” - Mark Twain

Foto

MVC: DropDownList de una Entity referenciada


  • Please log in to reply
No replies to this topic

#1 Alberto Dominguez

Alberto Dominguez

    Gurú

  • Administradores
  • 1.059 Mensajes:
  • LocationMadrid

Escrito 07 abril 2011 - 22:21

Código de la Acción "Edit" del Controlador:

//
        // GET: /Inicio/Edit/5
 
        public ActionResult Edit(int id)
        {
            ViewData["Localizaciones"] = new SelectList(RepositorioClientes.ObtenerLocalizaciones(), "IdLocalizacion", "Ciudad");
            var cliente = RepositorioClientes.ObtenerCliente(id);
            return View(cliente);
        }

        //
        // POST: /Inicio/Edit/5

        [HttpPost]
        public ActionResult Edit(int id, FormCollection collection)
        {
            var cliente = RepositorioClientes.ObtenerCliente(id);

            if (cliente == null)
                return RedirectToAction("Index");

            try
            {
                UpdateModel(cliente, collection.ToValueProvider());
                RepositorioClientes.ActualizarCliente(cliente);
                RepositorioClientes.Guardar();

                TempData["ConfirmationMessage"] = cliente.Nombre + " has been updated.";

                return RedirectToAction("Index");
            }
            catch (Exception)
            {
                return View(cliente);
            };
        }

Código de la Vista "Edit.aspx":

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MvcApplication4.Models.Cliente>" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
	Editar
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">

    <h2>Editar</h2>

    <% using (Html.BeginForm()) {%>
        <%: Html.ValidationSummary(true) %>
        
        <fieldset>
            <legend>Datos Cliente</legend>
            
            <div class="editor-label">
                <%: Html.LabelFor(model => model.Nombre) %>
            </div>
            <div class="editor-field">
                <%: Html.TextBoxFor(model => model.Nombre) %>
                <%: Html.ValidationMessageFor(model => model.Nombre) %>
            </div>
            
            <div class="editor-label">
                <%: Html.LabelFor(model => model.Apellidos) %>
            </div>
            <div class="editor-field">
                <%: Html.TextBoxFor(model => model.Apellidos)%>
                <%: Html.ValidationMessageFor(model => model.Apellidos)%>
            </div>
             <div class="editor-label">
                <%: Html.LabelFor(model => model.IdLocalizacion) %>
            </div>
            <div class="editor-field">
                <%: Html.DropDownListFor(model=>model.IdLocalizacion, (ViewData["Localizaciones"] as SelectList))%>
                <%: Html.ValidationMessageFor(model => model.IdLocalizacion)%>
            </div>
            <p>
                <input type="submit" value="Save" />
            </p>
        </fieldset>

    <% } %>

    <div>
        <%: Html.ActionLink("Volver a Listado Cliente", "Index") %>
    </div>

</asp:Content>

Saludos,

Alberto Dominguez

Enterprise Architect y Trainer
MCT, MCPD, MCITP, MCITP Dynamics, MCSE, MCSA, MCTS, MCP...
ITIL V3 Foundation Qualification in IT Service Management
Imagen enviadaPerfil Profesional Imagen enviadaTwitter
Imagen enviadaImagen enviadaImagen enviadaImagen enviada




0 usuarios están leyendo este tema

0 miembro/s, 0 invitado/s, 0 usuario/s anónimo/s