我需要在ASP.NET MVC 3填充下拉我希望得到的回答以下几个问题:填充下拉框在ASP.NET MVC 3
- 做什么选择我。我的意思是@ Html.DropDownList和@ Html.DropDownListFor之间有什么区别。还有没有其他的选择?
我有以下类/代码。我需要的剃须刀代码/ HTML语法是什么(我已经包括了我正在尝试的),假设我只需要使用下面的类来显示这个下拉菜单。
public class SearchCriterion { public int Id { get; set; } public string Text { get; set; } public string Value { get; set; } } public class SearchCriteriaViewModel { public IEnumerable<SelectListItem> SearchCriteria { get; set; } } public class HomeController : Controller { public ActionResult Index() { IList<System.Web.WebPages.Html.SelectListItem> searchCriteriaSelectList = new List<System.Web.WebPages.Html.SelectListItem>(); SearchCriteriaViewModel model = new SearchCriteriaViewModel(); //Some code to populate searchCriteriaSelectList goes here.... model.SearchCriteria = searchCriteriaSelectList; return View(model); } } //Code for Index.cshtml @model SearchCriteriaViewModel @{ ViewBag.Title = "Index"; } <p> @Html.DropDownListFor(model => model.SearchCriteria, new SelectList(SearchCriteria, "Value", "Text")) </p>
感谢您的代码。它可以稍作修改。但是,我无法理解DropDownListFor语法。模型=> model.Id部分代表什么?我们不会在任何地方填充ID。 – Yasir 2012-02-02 07:33:22
它为指定表达式表示的对象中的每个属性返回一个HTML select元素,这里有更多关于它的详细信息http://msdn.microsoft.com/en-us/library/system.web.mvc。 html.selectextensions.dropdownlistfor.aspx – Rafay 2012-02-02 08:36:03