[英]How to show the selected value from the drop down list and show it in gridview
[英]Show Selected value in drop down list on updating in MVC
我正在努力編碼Gender下拉列表,因為它只有兩個值並且永遠不會更改。
如何在“編輯”視圖上顯示所選值,以便用戶可以看到所選性別並輕松更新。
建立檢視
@Html.DropDownList("Departments", new List<SelectListItem>
{
new SelectListItem { Text = "Male", Value = "1"},
new SelectListItem { Text = "Female", Value = "2"}
}, "Select")
為什么將1
或2
的值綁定到名為Department
的屬性以表示值“ Male”和“ Female”的原因有點令人困惑。 我假設您確實要綁定到名為Gender
的屬性。
理想情況下,該屬性應為typeof string
或枚舉,以便將其存儲為“ Male”或“ Female”(值“ 1”或“ 2”對其他任何人都沒有多大意義)。
另外,您應該在控制器中生成SelectList
並使用視圖模型或ViewBag
屬性將其傳遞給視圖(最好是傳遞給視圖)。
public class PersonVM
[Required(ErrorMessage = "Please select a Gender")]
public string Gender { get; set; } // or use an enum
public IEnumerable<SelectListItem> GenderList { get; set; }
}
在GET方法中
PersonVM model = new PersonVM()
{
GenderList = new SelectList(new string[]{ "Male", "Female" }),
Gender = // set this in an Edit method so the correct option is selected
}
// or if not using a view model - ViewBag.GenderList = new SelectList(new string[]{ "Male", "Female" });
return View(model);
並認為
@Html.DropDownListFor(m => m.Gender, Model.GenderList, "-select-")
// or if not using a view model - @Html.DropDownListFor(m => m.Gender, (SelectList)ViewBag.GenderList, "-select-")
@Html.ValidationMessageFor(m => m.Gender)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.