我有一個DropDownList
,它不能作爲DropDownListFor
工作,因此它已被放棄。MVC如何在DropDownList後面設置模型的值
如何將DropDownList附加爲視圖中項目的模型值。這是我的代碼。
@model DirectoryMVC.Models.get_administrators_Result
@{
List<SelectListItem> listItems2 = new List<SelectListItem>();
listItems2.Add(new SelectListItem { Text = "Mr.", Value = "Mr." });
listItems2.Add(new SelectListItem { Text = "Ms.", Value = "Ms." });
listItems2.Add(new SelectListItem { Text = "Dr.", Value = "Dr." });
listItems2.Add(new SelectListItem { Text = "Miss", Value = "Miss" });
listItems2.Add(new SelectListItem { Text = "Mrs.", Value = "Mrs." });
listItems2.Add(new SelectListItem { Text = "Rev.", Value = "Rev." });
foreach (SelectListItem li2 in listItems2)
{
if (li2.Value == this.Model.title)
{
li2.Selected = true;
}
}
ViewBag.Titles = listItems2;
List<SelectListItem> admins = ViewBag.JobTitle;
foreach (SelectListItem item in admins)
{
if (this.Model.admin_code.TrimEnd(' ') == item.Value)
{
item.Selected = true;
}
else
{
item.Selected = false;
}
}
ViewBag.JobTitle = admins;
}
@Html.HiddenFor(m=>m.admin_id)
<div class="col-md-1">@Html.DropDownList("Titles")
</div>
<div class="col-md-2"> @Html.TextBoxFor(m => m.first_name)
</div>
<div class="col-md-2"> @Html.TextBoxFor(m => m.last_name)
</div>
<div class="col-md-3"> @Html.DropDownList("JobTitle")
</div>
<div class="col-md-3 pull-left"> @Html.TextBoxFor(m => m.email)
</div>
在控制器中,admin_code和admin_title。這兩個下拉列表爲空。在查看頁面時適當選擇這些值,但它們沒有正確映射到表單發佈中的模型。
爲什麼在使用'@ Html.DropDownListFor'時它不工作?如果你想將它綁定到一個模型屬性上,你不需要自己設置下拉菜單的選擇值,這樣你就可以避免使用'foreach(listListtemplate2中的SelectListItem li2)'。使用'@ Html.DropDownList(「title」,ViewBag.Titles)'。 [本文](http://www.c-sharpcorner.com/UploadFile/4d9083/binding-dropdownlist-in-mvc-in-various-ways-in-mvc-with-data/)可能會對您有所幫助。 – granit
您沒有向'Html.DropDownList'函數提供任何值..所以我不確定您在渲染頁面中如何看到任何值。 –
@granit你可以在這裏看到我以前的問題。我一起放棄了它。 http://stackoverflow.com/questions/43520636/why-does-this-one-dropdownlistfor-work-and-this-other-one-doesnt –