2014-12-04 55 views
0

當DropDownListFor不會將viewmodel中的值綁定到列表時,我發現了一個小小的情況。MVC DropDownListFor由於屬性名稱沒有綁定的選定項目

下面的代碼不會綁定值。

視圖模型

public class PersonViewModel 
{ 
    [Required] 
    public Title? Title { get; set; } 
    public IEnumerable<SelectListItem> TitleSelectList { get; set; } 
} 

控制器

public ActionResult Person() 
    { 
     return View(
      new PersonViewModel 
      { 
       Title = Title.Mrs, 
       TitleSelectList = EnumHelper.GetSelectList(typeof(Title)), 
      }); 
    } 

查看

@Html.DropDownListFor(model => model.Title, Model.TitleSelectList, "Please select...", new { @class = "form-control" }) 

回答

0

更改屬性名稱修復了這個。

將視圖模型更改爲public Title? TitleTesting { get; set; }並更新其餘代碼以匹配它將起作用。

我很想知道這是一個錯誤還是保留字。

+0

檢查[此答案](http://stackoverflow.com/a/26905905/1199711)。 – Zabavsky 2014-12-04 11:18:36

+0

可能與'ViewBag.Title'衝突 – 2014-12-04 11:20:33