0

有人可以帮助我使用正确的语法吗?

不确定如何编写 DropDownListFor HTML 帮助程序。我将如何使用基于 3 的 Value 属性选择的“鼠标”来编写这个?我没有使用模型,只是想在 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(? , ?, ?);
4

2 回答 2

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)
于 2013-01-09T19:21:41.147 回答
0

DropDownListFor没有模型就不能使用。看看它的重载:每个人都从一个模型属性开始。这就是帮助器用来为模型绑定器设置名称属性的方法。

但是,您可以使用DropDownList. 请注意,每个重载中的第一个参数是string name. 在这里,您自己设置名称属性。

@Html.DropDownList("myDropDownList", AnimalList)

您没有在帮助程序中将项目设置为选中,而是在 SelectListItem 声明中执行此操作,如下所示

AnimalList.Add( new SelectListItem 
                    { 
                      Text = "Mouse", 
                      Value = "3", 
                      Selected = true 
                    } 
              );
于 2013-01-09T19:16:48.820 回答