Asp.net mvc 4 控制器中的mvc4 bind@Html.DropDownListFor
如何将@Html.DropDownListFor绑定到来自模型的值? 我的模型:Asp.net mvc 4 控制器中的mvc4 bind@Html.DropDownListFor,asp.net-mvc-4,html.dropdownlistfor,Asp.net Mvc 4,Html.dropdownlistfor,如何将@Html.DropDownListFor绑定到来自模型的值? 我的模型: public UpdatePersonalModel() { Titles = new List<SelectListItem>(); Titles.Add(new SelectListItem{Text = "Mr",Value = "Mr"}); Titles.Add(new SelectListItem{Text = "Mrs",Value = "Mrs"}); Titles.A
public UpdatePersonalModel()
{
Titles = new List<SelectListItem>();
Titles.Add(new SelectListItem{Text = "Mr",Value = "Mr"});
Titles.Add(new SelectListItem{Text = "Mrs",Value = "Mrs"});
Titles.Add(new SelectListItem{Text = "Miss",Value = "Miss"});
Titles.Add(new SelectListItem{Text = "Ms",Value = "Ms"});
Titles.Add(new SelectListItem{Text = "Dr",Value = "Dr"});
Titles.Add(new SelectListItem{Text = "Hon",Value = "Hon"});
Titles.Add(new SelectListItem{Text = "Prof",Value = "Prof"});
}
public List<SelectListItem> Titles { get; set; }
public string Title { get; set; }
...
...
他认为:
当我有model.Title时,会显示model值,但它会复制该值,并且不会绑定
@Html.DropDownListFor(m=>m.Title,Model.Titles,Model.Title,new{@class=“EnrtyFeildSelect”})
在这里它总是带第一个值
@Html.DropDownListFor(m=>m.Title,Model.Titles,new{@class=“EnrtyFeildSelect”})
第二种方法是正确的方法。如果在发送到视图之前设置了标题,是否设置了正确的值?该值是否传回控制器?不,这是问题所在。ddl总是设置为第一个值,而不是我在控制器中传递的值。这不重要,但请尝试将该值更改为数字而不是字符串,然后看看这是否有区别。另外,请尝试设置一个“选择”列表项的“选定”属性,并查看该选定项是否会显示在视图中
public ActionResult UpdatePersonal()
{
//...
var model = new UpdatePersonalModel();
model.Title = webContext.CurrentUser.Title;
model.FirstName = webContext.CurrentUser.First_Name;
model.MiddleName = webContext.CurrentUser.q_Middle_Name;
//...
return View(model);
}