Mik*_*ebb 5 selection asp.net-mvc-3 drop-down-menu
我有一个C#.Net MVC3网络应用程序.我正在使用Drop Down列表并取得成功.但是,有两个我遇到麻烦.唯一的区别是我SelectLists在代码中动态创建而不是使用Lookup表.我为所有其他Drop Downs使用查找表.当我SelectLists在代码中快速观察时,正确的Item将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")
Run Code Online (Sandbox Code Playgroud)
//视图
@Html.DropDownList("DateFromYear", (SelectList)ViewBag.DateToYear )
Run Code Online (Sandbox Code Playgroud)
2)//控制器SAME如上所述
//视图
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)
Run Code Online (Sandbox Code Playgroud)
问题是,SelectList按设计工作.错误在设计中.您可以在SelctedItem中设置Selected Property,但如果您使用GetEnumerator()遍历列表(或者如果Mvc为您执行此操作),则将完全忽略此属性.Mvc将创建新的SelectfListItems.
您必须将SelectList ctor与SelectListItem [],Text-Name,Value-Name和SelectedValue一起使用.请注意将SelectValue传递给您想要选择的SelectListItem的VALUE,而不是SelectListItem本身!例:
为什么不在控制器中呢?
伪代码:
//控制器
ViewBag.DateToYear = new SelectList(new[]
{
new SelectListItem { Text = "10", Value = "10" },
new SelectListItem { Text = "15", Value = "15" }
new SelectListItem { Text = "25", Value = "25" },
new SelectListItem { Text = "50", Value = "50" },
new SelectListItem { Text = "100", Value = "100" },
new SelectListItem { Text = "1000", Value = "1000" },
}, "SomeText", "Value", "15");
Run Code Online (Sandbox Code Playgroud)
应选择第二个选项.
不确定是否是这种情况,但我有一些问题,几天前没有选择下拉框.
我的问题是:我有一个@model.Options,我创建了一个@html.dropdownlist("Options", @model.Options, [...]).但是,因为它们具有相同的名称,所以它有些冲突.当我用@html.dropdownlist("anythingElse", @model.Options, [...])它时工作得很好.
当我快速观看时return View(model),所选的选项似乎也设置正确,所以需要一段时间才能弄明白.也许你有同样的问题?
| 归档时间: |
|
| 查看次数: |
4442 次 |
| 最近记录: |