我在页面中需要一个 DropDownList,所以我尝试这种方式:
行动:
[HttpGet]
public ActionResult GetPoint() {
...
List<SelectListItem> zooms = new List<SelectListItem>();
for (int i = 0; i <= 21; i++) {
if (i == 9)
zooms.Add(new SelectListItem() { Selected = true, Text = i.ToString(), Value = i.ToString() });
else
zooms.Add(new SelectListItem() { Selected = false, Text = i.ToString(), Value = i.ToString() });
}
model.myselectlist = zooms;
...
return View(model);
}
在视图中:
@Html.DropDownListFor(model => model.Zoom, Model.myselectlist , new { @class = "dropdown" })
因此,正如我所料,我们有一个带有9
is Selected Item 的 DropDownList。
但是在同一个视图中我需要另一个 DropDown 所以这是我的实现:
[HttpGet]
public ActionResult GetPoint() {
...
List<SelectListItem> places = new List<SelectListItem>();
places.Add(new SelectListItem() { Text = "NY", Value = "NY", Selected = false });
places.Add(new SelectListItem() { Text = "CA", Value = "CA", Selected = false });
places.Add(new SelectListItem() { Text = "TX", Value = "TX", Selected = false });
places.Add(new SelectListItem() { Text = "NH", Value = "NH", Selected = true });
places.Add(new SelectListItem() { Text = "NV", Value = "NV", Selected = false });
model.myselectlistII = places;
...
return View(model);
}
在视图中我有:
@Html.DropDownListFor(model => model.Place, Model.myselectlistII , new { @class = "dropdown" })
因此,如您所见,我有一个NH
Item 具有的列表selected = true
。
而且我希望有一个下拉列表,该下拉列表已NH
选择但未发生,并且始终是第一个选择的项目。
鉴于我有一个奇怪的行为,我在操作末尾和@Html.DropDownListFor
视图页面的行首调试代码,一切正常,但在此行之后我再次检查Model.myselectlistII
所选项目已更改并且所有项目都已选择财产false
,我不明白发生了什么?哪里有问题?为什么第一个DropDownFor
没有改变任何东西,但第二个改变了我的清单?你的建议是什么?