記錄 DropDownListFor 強型別綁定下拉選單的標準用法。
public class EricSunModel {
public string ReadyTimeHour { get; set; }
}
public ActionResult EricSunAction() {
var model = new EricSunModel { ReadyTimeHour = "00" };
GenerateReadyTimeViewData();
return View(model);
}
private void GenerateReadyTimeViewData() {
ViewData["HourList"] = GetTimeHourList();
}
private List<SelectListItem> GetTimeHourList() {
var list = new List<SelectListItem>();
for (int i = 0; i < 24; i++) {
string val = i < 10 ? "0" + i : i.ToString();
list.Add(new SelectListItem { Text = val, Value = val });
}
return list;
}
@Html.DropDownListFor(m => m.ReadyTimeHour, ViewData["HourList"] as List<SelectListItem>)
第一參數為 Model 屬性運算式(綁定目標),第二參數為 SelectListItem 集合資料來源。執行後自動依 Model 屬性值選取對應項目,表單提交時自動回傳選值至 Model。