【发布时间】:2013-11-14 18:58:29
【问题描述】:
这是代码:
@using SSA.Models;
<h2>@ViewBag.Title.ToString()</h2>
@{
using(Html.BeginForm()){
List<SelectListItem> selectList = new List<SelectListItem>();
foreach(Item c in ViewBag.Items)
{
SelectListItem i = new SelectListItem();
i.Text = c.Name.ToString();
i.Value = c.SiteID.ToString();
selectList.Add(new SelectListItem());
}
Html.DropDownList("Casinos", new SelectList(selectList,"Value","Text"));
}
}
断点上的列表 selectList 显示它有 108 个值。呈现的是一个空表单。没有运行时错误。
注意:我知道为此使用 ViewBag 并不是最好的方法。这是一次性代码,我只是想了解它为什么不呈现下拉菜单。
【问题讨论】:
-
为什么不在服务器端构建 ViewBag。然后,您可以简单地在下拉列表中引用它。 ViewBag.Casinos= new SelectList(Your IEnumerableList Here, "Values", "Values");然后,您的视图将看起来像这样 Html.DropDownList("Casinos", String.Empty)
标签: c# asp.net-mvc razor asp.net-mvc-5