[英]Dropdown in ASP.NET MVC 3
我是MVC的新手,所以很困惑。 有人可以向我解释一下razor中的下拉菜单吗?我的问题是-
如果可能,请举例说明。
DropDownList由以下代码生成:
@Html.DropDownList("PersonId", new SelectList(Model.People, "Id", "Text");
另一方面,DropDownListFor生成如下:
@Html.DropDownListFor(m => m.PersonId, new SelectList(Model.People, "Id", "Text")
DropDownList的问题在于它具有一个魔术字符串,如果您以后决定重构模型,则有很大的变化,您也会忘记更改魔术字符串。 您可以这样执行LINQ查询:
var datalist = New SelectList(from x in _peopleService select new SelectListItem { Text = x.Name, Value = x.Id});
如果您之间没有服务或ORM,则需要将其应用于您的情况,但是可以生成类似的列表。 在nr 2之后,您可以
datalist.Add(new SelectListItem() { Text = "Other", Value = "-1"});
另外,您还必须将该数据列表放入传递给View的viewmodel / model中,以便可以生成一个selectlist项。 在这种情况下,您可以执行以下操作: @Html.DropDownListFor(x => x.PersonId, Model.PersonList);
如果您将列表存储为Model中的PersonList。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.