在asp.net mvc3中创建下拉列表

时间:2013-04-06 20:01:03

标签: javascript asp.net-mvc web

我正在使用asp.net MVC4

开发Simple Web Application

我想知道如何在asp.net mvc4中创建一个下拉列表

在我的应用程序中,我不想使用“ID_Sous_Type”但我想从“Sous_Type”类加载一个列表

http://i.stack.imgur.com/qf1C4.jpg

我在索引方法中编写了这段代码:

        var GenreLst = new List<string>();

        var GenreQry = from d in secdb.SousTypes
                       orderby d.ID_Sous_Type
                       select d.Nom_Sous_Type;
        GenreLst.AddRange(GenreQry.Distinct());

        ViewBag.types = new SelectList(GenreLst); //Can't load this 

在我的观点中:

 @Html.DropDownList("types")

更新!

我正在处理表单以检索数据并将其保存在我的表中 我有两个表,Task和TaskType 对于任务,创建页面就是这样。 http://i.stack.imgur.com/qf1C4.jpg

对于最后一个字段“ID_Sous_Type”,我想加载list(来自其他表TaskType)以提供一个良好的用户界面,用户可以更好地选择合适的类型(给ID_Sous_Type不可理解)
为此,我想在下拉列表中加载(TaskType)的名称

在我的索引控制器中: 我建立 。  var GenreLst = new List();

//这里我从TaskType表中获取了所有名称

var GenreQry = from d in secdb.SousTypes
               orderby d.ID_Sous_Type
               select d.Nom_Sous_Type; 

GenreLst.AddRange(GenreQry.Distinct());

然后我添加了Ranges以轻松获得它 但我无法在下拉列表中“绑定”它,我想知道怎么做!!

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你的ViewBag.types缺少一些重要信息,这就是它返回你的清单的原因。它应该是这样的:

ViewBag.GenreId = new SelectList(db.Genres, "GenreId","Name");

在官方.net网站上查看此文章,它可以帮助您更好地了解下拉列表。 http://www.asp.net/mvc/tutorials/mvc-music-store/mvc-music-store-part-5