Joh*_*ina 15 c# asp.net-mvc linq-to-sql
我正在尝试使用从属性中提取的值来填充DropDownList,而我现在的最终结果是除了"System.Web.Mvc.SelectListItem"之外的任何内容.我敢肯定,我在这里省略了一些小步骤,但对于我的生活,我无法弄清楚它是什么.
属性GET生成列表:
public IEnumerable<SelectListItem> AllFoo {
get {
var foo = from g in Bar
orderby g.name
select new SelectListItem {
Value = g.fooid.ToString(),
Text = g.name
};
return foo.AsEnumerable();
}
}
Run Code Online (Sandbox Code Playgroud)
控制器代码:
public ActionResult Edit(string id) {
// n/a code
ViewData["fooList"] = new SelectList(g.AllFoo, g.fooid);
return View(g);
}
Run Code Online (Sandbox Code Playgroud)
视图代码:
<%= Html.DropDownListFor(model => model.fooid, ViewData["fooList"] as SelectList) %>
Run Code Online (Sandbox Code Playgroud)
Ste*_*ack 34
这里的问题是你不应该填写SelectList一个IEnumerable<SelectListItem>.使用其中一个SelectList或一个IEnumerable<SelectListItem>,但不是两个.有关更多详细信息,请查看此问题:Asp.Net MVC 2 Dropdown显示System.Web.MVC.SelectListItem
Joh*_*son -5
编辑:这个问题与已经问过的问题非常相似:
ASP.NET MVC 2 - Html.DropDownList 与 ViewModel 混淆
否则,您可能会发现这篇文章很有帮助:
http://www.nickriggs.com/posts/rendering-and-binding-drop-down-lists-using-asp-net-mvc-2-editorfor/
它使用 EditorFor,但对 DisplayFor 也可以做同样的事情。
| 归档时间: |
|
| 查看次数: |
10854 次 |
| 最近记录: |