有人可以用正确的语法帮助我吗?
不确定如何编写DropDownListFor HTML帮助器。如何使用基于Value属性3选择的“Mouse”来编写?我没有使用模型,只是想在剃刀内快速列出一个快速列表。
谢谢
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(? , ?, ?);
答案 0 :(得分:2)
如果没有型号,则无法使用@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)
答案 1 :(得分:0)
没有模特,你不能使用DropDownListFor
。看看它的重载:每个人都从一个模型属性开始。这就是帮助器用于设置模型绑定器的name属性的内容。
但是,您可以使用DropDownList
。请注意,每个重载的第一个参数是string name
。在这里你自己设置名称属性。
@Html.DropDownList("myDropDownList", AnimalList)
你没有在助手中设置一个项目,你可以在SelectListItem声明中这样做
AnimalList.Add( new SelectListItem
{
Text = "Mouse",
Value = "3",
Selected = true
}
);