无法使用ViewBag和SelectListItem绑定数据DropDownListFor

时间:2016-11-05 09:15:58

标签: asp.net-mvc c#-4.0

我的MVC DropDownListFor有问题。我尝试从dropdownlist获取此ViewBag的数据来源,如下所示:

这是来自Controller。

 ViewBag.Titles = new List<SelectListItem>() { 
     new SelectListItem(){
           Value="1",
           Text="Mr."
      },
      new SelectListItem(){
           Value="2",
           Text="Ms."
      },
      new SelectListItem(){
           Value= "3",
           Text= "Miss"
      },
      new SelectListItem(){
            Value="4",
            Text="Mrs.",
      },
      new SelectListItem(){
           Value= "5",
           Text= "Prof"
 }};

这是来自编辑视图:

  @Html.DropDownListFor(x => x.TitleId, new SelectList(ViewBag.Titles, "Value", "Text"), new { @class = "form-control" })

我尝试从TitleId = 2的数据库中编辑一条记录,但是当显示此视图时,总是选择下拉列表作为第一个选项(TitleId = 1)。

如何将此下拉列表设置为选择值为2?

谢谢。

1 个答案:

答案 0 :(得分:0)

您正在使用不同的属性进行绑定,请再次检查:模型正在使用&#34; TitleId&#34;而Dropdownlist的来源已选择值是&#34;值&#34;。请尝试从与Model属性(TitleId)具有相同名称的不同列表中获取DropdownlistFor的源代码。您可以在下面看到示例:

  @Html.DropDownListFor(x => x.TitleId, new SelectList(ViewBag.Titles, "TitleId", "Text"), new { @class = "form-control" })