我需要在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