有人能帮我正确的语法吗?
不知道如何编写DropDownListFor HTML帮助器。我该如何根据Value属性3选择"鼠标"呢?我没有使用模型,只是试图在razor中快速列出一个列表。
感谢var AnimalList = new List<SelectListItem>();
AnimalList.Add(new SelectListItem { Text = "Dog", Value = "1" });
AnimalList.Add(new SelectListItem { Text = "Cat", Value = "2" });
AnimalList.Add(new SelectListItem { Text = "Mouse", Value = "3" });
AnimalList.Add(new SelectListItem { Text = "Squirrel", Value = "4" });
AnimalList.Add(new SelectListItem { Text = "Fox", Value = "5" });
@Html.DropDownListFor(? , ?, ?);
没有模型不能使用@Html.DropDownListFor
。但是你可以不带模型使用@Html.DropDownList
。
var AnimalList = new List<SelectListItem>();
AnimalList.Add(new SelectListItem { Text = "Dog", Value = "1" });
AnimalList.Add(new SelectListItem { Text = "Cat", Value = "2" });
AnimalList.Add(new SelectListItem { Text = "Mouse", Value = "3" });
this.ViewBag.Animals = new SelectList(AnimalList, "Value", "Text", "3");
在
@Html.DropDownList("myDropDown", ViewBag.Animals as SelectList)
没有模型就不能使用DropDownListFor
。看看它的重载:每个人都从一个model属性开始。这就是帮助器用来为模型绑定器设置name属性的方法。
但是,您可以使用DropDownList
。注意,它每次重载的第一个参数都是string name
。这里您可以自己设置name属性。
@Html.DropDownList("myDropDownList", AnimalList)
你不需要在helper中设置一个项目为selected,你需要在SelectListItem声明中这样做
AnimalList.Add( new SelectListItem
{
Text = "Mouse",
Value = "3",
Selected = true
}
);