首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >来自DataBase的MVC DataBase

来自DataBase的MVC DataBase
EN

Stack Overflow用户
提问于 2013-08-13 14:29:40
回答 3查看 148关注 0票数 0
代码语言:javascript
复制
public class DropDown
{

    public string[] SelectedItems { get; set; }

    public IEnumerable<SelectListItem> Items { get; set; }

}

我试图从上面的结构的DB中得到一个MVC的DropDown。

从DataBase中,我得到了文本和值字段,在IEnumerable<T>中,T有两个属性id和文本。

将i枚举id转换为字符串数组并将id、文本分配给SelectedListItem的最佳方法是什么?

我想过循环遍历i枚举并形成DropDown,但我认为会有更好的方法。

更新

例如:

代码语言:javascript
复制
In DB i have student table with
 ID,
 Name,
 Class,
 Section

我在ienumerable<student>上得到了身份证和名字。从那里我需要转换成一个DropDown

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-08-13 14:34:04

代码语言:javascript
复制
IEnumerable<Student> studentList = GetStudentList();
IEnumerable<SelectListItem> dropdownItems = new MultiSelectList(studentList, "ID", "Name",selectedValues);

DropDown dropDown = new DropDown { Items = dropdownItems  };

如果您想要创建一个列表框,可以使用以下HTML帮助程序来完成:

代码语言:javascript
复制
@Html.ListBoxFor(item => item.SelectedStudents, new MultiSelectList(Model.StudentList, "ID", "Name",selectedValues))
票数 2
EN

Stack Overflow用户

发布于 2013-08-13 14:55:09

我不知道您为什么要创建自己的DropDown类,为什么不使用内置的MVC Helper呢?

如果您有一个IEnumerable,您想要将其转化为一个将由助手使用的SelectList,那么类似这样的操作就可以了:

代码语言:javascript
复制
var selectListItems = from t in items
select new SelectListItem{
     Text = t.Text,
     Value = t.Id
}.ToList();

然后将其激活到视图中,理想情况下可以使用视图模型,但ViewBag也能工作:

代码语言:javascript
复制
ViewBag.SelectListItems = selectListItems;

最后,让HTML助手在视图中为您构建下拉列表:

代码语言:javascript
复制
@Html.DropDownList("SelectListItems")
票数 2
EN

Stack Overflow用户

发布于 2013-08-13 14:54:09

看起来,您可能希望对selectedItems中的每个数组位置进行多次下拉吗?如果是这样的话,我上周就遇到了这个问题。我打电话给Html.DropDownListFor(.)内部的一个领班。

代码语言:javascript
复制
<%    for(int i = 0; i < Model.SelectedItems.length; i++) %>
    <%: Html.DropDownListFor(m => m.SelectedItems[i], Model.Items %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18211872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档