【发布时间】:2012-08-13 03:49:54
【问题描述】:
我有一个 C#.Net MVC3 网络应用程序。我在所有地方都使用下拉列表并取得了成功。但是,有两个我遇到了麻烦。唯一的区别是我在代码中动态创建SelectLists,而不是使用查找表。我对所有其他下拉菜单使用查找表。当我快速查看代码中的SelectLists 时,正确的项目将Selected 属性值设置为true。但是,当页面加载时,不显示具有Selected 属性的项目。第一项是。有任何想法吗?这是那些奇怪的之一。我已经尝试了以下两种方式。在这两种情况下,ViewBag.DateToYear 和 SelectList DateToYear 都有正确的值和 'Selected' 属性集
1)
//控制器
IList<string> dateToYear = new List<string>();
for (int i = 0; i < numberYears; i++)
{
dateToYear.Add(DateTime.Now.AddYears(i).Year.ToString());
}
ViewBag.DateToYear = new SelectList(dateToYear,"2014")
//查看
@Html.DropDownList("DateFromYear", (SelectList)ViewBag.DateToYear )
2) //控制器 同上
//查看
List<SelectListItem> DateToYear = new List<SelectListItem>();
foreach (var m in ViewBag.DateToYear)
{
DateToYear.Add(new SelectListItem { Selected = @m.Selected, Value = @m.Text, Text = @m.Text });
}
@Html.DropDownList("DateFromYear", DateToYear)
【问题讨论】:
-
您尝试过 DropDownListFor 吗?为什么不将 SelectList 选项作为 A) ViewBag 或 B) 强类型视图模型的一部分?我没有看到你如何处理这个问题。
标签: asp.net-mvc-3 drop-down-menu selection