Foros del Web » Programando para Internet » ASPX (.net) »

Colocar varios DropDownList en una sola Vista en MVC

Estas en el tema de Colocar varios DropDownList en una sola Vista en MVC en el foro de ASPX (.net) en Foros del Web. Necesito colocar en una sola vista varios DropDownList que me muestren datos de tablas de una base que esta en sql server 2012 pero no ...
  #1 (permalink)  
Antiguo 17/01/2013, 09:05
 
Fecha de Ingreso: enero-2013
Mensajes: 1
Antigüedad: 11 años, 3 meses
Puntos: 0
Pregunta Colocar varios DropDownList en una sola Vista en MVC

Necesito colocar en una sola vista varios DropDownList que me muestren datos de tablas de una base que esta en sql server 2012 pero no se como hacer al momento tengo este codigo pero me sale un error de que el valor no puede ser nulo en la vista ascx. Ayuda!!

Dentro del modelo tengo lo siguiente

public class CampaniasViewModel
{
public Campanias Campanias { get; set; }

public List<GM_OPERACION> GM_OPERACION { get; set; }

public List<GM_TIPOCAMP> GM_TIPOCAMP { get; set; }

public List<GM_FRECUENCIA> GM_FRECUENCIA { get; set; }
}

En la vista

<%@ Import Namespace="Sistema_Gestor_de_Mensajes"%>
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Sistema_Gestor_d e_Mensajes.ViewModel.CampaniasViewModel>" %>

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

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



<h2>&nbsp;</h2>
<h2>Crear nuevo registro</h2>

<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>

<fieldset>
<legend>Datos de la pelicula</legend>

<%: Html.EditorFor(model => model.Campanias, new { GM_OPERACION = Model.GM_OPERACION })%>
<%: Html.EditorFor(model => model.Campanias, new { GM_TIPOCAMP = Model.GM_TIPOCAMP })%>
<%: Html.EditorFor(model => model.Campanias, new { GM_FRECUENCIA = Model.GM_FRECUENCIA })%>
<p>
<input type="submit" value="Crear registro" />
</p>
</fieldset>

<% } %>

<div>
<%: Html.ActionLink("Regresar al indice", "Index") %>
</div>

</asp:Content>

En la vista ascx lo siguiente

<%@ Import Namespace="Sistema_Gestor_de_Mensajes"%>
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Sistema_G estor_de_Mensajes.Models.Campanias>" %>

<div class="editor-label">
<%: Html.LabelFor(model => model.OP_CODIGO) %>
</div>
<div class="editor-field">
<%: Html.DropDownList("OP_CODIGO", new SelectList(ViewData["GM_OPERACION"] as IEnumerable, "OP_CODIGO", "OP_DESCRI", Model.OP_CODIGO))%>
<%: Html.ValidationMessageFor(model => model.OP_CODIGO) %>
</div>

<div class="editor-label">
<%: Html.LabelFor(model => model.TC_CODIGO) %>
</div>
<div class="editor-field">
<%: Html.DropDownList("TC_CODIGO", new SelectList(ViewData["GM_TIPOCAMP"] as IEnumerable, "TC_CODIGO", "TC_DESCRI", Model.TC_CODIGO))%>
<%: Html.ValidationMessageFor(model => model.TC_CODIGO) %>
</div>

<div class="editor-label">
<%: Html.LabelFor(model => model.FR_CODIGO) %>
</div>
<div class="editor-field">
<%: Html.DropDownList("FR_CODIGO", new SelectList(ViewData["GM_FRECUENCIA"] as IEnumerable, "FR_CODIGO", "FR_DESCRI", Model.FR_CODIGO))%>
<%: Html.ValidationMessageFor(model => model.FR_CODIGO) %>
</div>

Y dentro del controlador

public ActionResult Create()
{
//Creamos un objeto de nuestro nuevo modelo
var viewModel = new CampaniasViewModel
{
Campanias = new Campanias(),
GM_OPERACION = DB.GM_OPERACION.ToList(),
GM_TIPOCAMP = DB.GM_TIPOCAMP.ToList(),
GM_FRECUENCIA = DB.GM_FRECUENCIA.ToList()
};
//Devolvemos a la vista nuestro modelo personalizado.
return View(viewModel);
}

Etiquetas: ayuda-general, dropdownlist, mvc
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:02.