我发现了许多与这个问题有关的问题和答案,但对我来说没有任何效果
我正在创建一个这样的下拉列表
@Html.DropDownListFor(m => m.SchoolYears,new SelectList(Model.SchoolYears,"YearId","StartDates",Model.CurrentYearId),new { @class = "field_Dropdown",style = "width:100px;",onchange="return searchStudents();" })
(Model.CurrentYearId是int类型)
但是今年不会选择.
从这个帖子,我得到我们应该使用字符串的选定值(虽然我不知道为什么,因为它允许对象的选定值)
@L_404_0@
所以我尝试所有这些变化
new SelectList(Model.SchoolYears,Model.CurrentYearId.ToString()) new SelectList(Model.SchoolYears,2) new SelectList(Model.SchoolYears,"2")
但他们甚至没有工作.
解决方法
发现问题.
我在做的错误是使用这个
m => m.SchoolYears // m.SchoolYears in a list of string
当我改变为这个
m => m.SelectedYearId // m.SelectedYearId is an integer property
它的工作就像一个魅力,所以终于有了这个工作
@Html.DropDownListFor(m => m.SelectedYearId,onchange="return searchStudents();" })
谢谢!