Asp.net mvc 为什么我的dropdownlist的初始值不显示?

Asp.net mvc 为什么我的dropdownlist的初始值不显示?,asp.net-mvc,drop-down-menu,Asp.net Mvc,Drop Down Menu,为什么我的dropdownlist的初始值不显示?我正在使用: @Html.DropDownList("DropDownValues", new SelectList(ViewBag.sellectedSubjectsId, "Initial Value")); 我做错了什么?尽量避免使用动态工具,如ViewBag和ViewData在动作方法和视图之间传输数据。使用强类型视图模型 假设您的视图要创建一个新的课程,用户必须从科目列表中选择一个科目,请创建

为什么我的dropdownlist的初始值不显示?我正在使用:

@Html.DropDownList("DropDownValues", new SelectList(ViewBag.sellectedSubjectsId, "Initial Value")); 

我做错了什么?

尽量避免使用动态工具,如
ViewBag
ViewData
在动作方法和视图之间传输数据。使用强类型视图模型

假设您的视图要创建一个新的课程,用户必须从科目列表中选择一个科目,请创建如下视图模型

public class CourseVM
{
  public List<SelectListItem> Subjects { set;get;}
  public int SelectedSubject { set;get;}
  public CourseVM()
  {
    Subjects=new List<SelectListItem>();
  }
}
现在在视图中,它是视图模型的强类型

@model CourseVM
@using (Html.BeginForm())
{
 //Other form elements as well
 @Html.DropdownListFor(x=>x.SelectedSubject,
                     new SelectList(Subjects,"Value","Text"),"Select one")
  <input type="submit" />
}
@model-CourseVM
@使用(Html.BeginForm())
{
//还有其他形式元素
@Html.DropdownListFor(x=>x.SelectedSubject,
新建选择列表(主题、“值”、“文本”和“选择一个”)
}
@model CourseVM
@using (Html.BeginForm())
{
 //Other form elements as well
 @Html.DropdownListFor(x=>x.SelectedSubject,
                     new SelectList(Subjects,"Value","Text"),"Select one")
  <input type="submit" />
}