获取asp.net-MVC中DropDownList中另一个表的值

时间:2011-11-10 14:36:24

标签: asp.net-mvc linq asp.net-mvc-3 drop-down-menu

所以我有3个表(一个例子):  与之有关系的Dispositivos {idDisp,DispName} Configuracion {idConfig,Configname,FK_idDispotivio}其中(Configuracion)与之有关系 Periferico {idPeriferico,name,FK_idConfiguracion}

所以我想要实现的是在我的视图中,我在我的DropDownList中为我的FK_idConfiguracion字段创建一个Periferico我想让Dispositivo.DispName在我的视图中显示给用户(这只是我想要的一个实际例子)。因为你可以更容易地看不清楚)

我认为可以这样做,但是不能得到一个错误,说configuracion没有DispName,那么怎样才能让DipsName在我的periferico视图中的DropDownList中显示?

控制器:

ViewBag.Configuracion_IdConfiguracion = new SelectList(db.Configuracion.Include("Dispositivo"), "idConfig", "DispName");

查看:

<div class="editor-field">
            @Html.DropDownList("Configuracion_IdConfiguracion")           
        </div>

1 个答案:

答案 0 :(得分:0)

您可以编写一个新查询来执行此操作:

var items = from c in db.Configuracion
            select new { Id = c.idConfig, Display = c.Dispositivo.DispName };

然后您可以使用它来提供下拉列表:

ViewBag.Configuracion_IdConfiguracion = new SelectList(items, "Id", "Display");