首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC SelectList传递值

MVC SelectList传递值
EN

Stack Overflow用户
提问于 2011-11-29 02:50:15
回答 1查看 584关注 0票数 2

我正在尝试手动创建一个列表,然后将其发送到视图:

我有以下几点

代码语言:javascript
复制
    var MyList = new[] {
    new ListEntry {Name = "John Moore"},
    new ListEntry {Name = "Jim Baker"}               

    };

    ViewBag.MyList = new SelectList(MyList , "Name"); 

在视图中,我有以下内容:

代码语言:javascript
复制
    @Html.DropDownListFor(model => model.name.UserName, (IEnumerable<SelectListItem>)ViewBag.MyList)

我期望在列表中看到John Moore和Jim Baker,但是列表中有2行,如下所示: Digit1.Controllers.ListEntry

任何想法,我可以列表显示名单,以显示姓名。此外,当我提交时,我还需要更新表中的名称(例如: John Moore或Jim Baker)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-29 02:52:57

您为SelectList使用了错误的重载。您需要使用重载来告诉它使用哪个显示/值:

代码语言:javascript
复制
new SelectList(myList, "Value", "Name");

在本例中,Value和Name是对象上要用于选择列表的value和display字段的属性的名称。

您正在使用的重载如下:

代码语言:javascript
复制
SelectList(IEnumerable<T> items, object selectedValue)

基本上,您是说您的SelectList具有"Name“作为所选(默认)值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8300744

复制
相关文章

相似问题

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