Paw*_*iya 12 asp.net-mvc selectlist html.dropdownlistfor
我发现了许多与此问题相关的问题和答案,但对我来说没有任何作用
我正在创建一个这样的下拉列表
@Html.DropDownListFor(m => m.SchoolYears, new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId), new { @class = "field_Dropdown", style = "width:100px;",onchange="return searchStudents();" })
Run Code Online (Sandbox Code Playgroud)
(Model.CurrentYearId属于类型int)
但它永远不会让当年选中.
从这篇文章中,我得到了我们应该使用字符串来选择值(虽然我不知道为什么因为它允许对象为选定值)
DropDownList SelectList SelectedValue问题
所以我尝试了所有这些变化
new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId.ToString())
new SelectList(Model.SchoolYears, "YearId", "StartDates", 2)
new SelectList(Model.SchoolYears, "YearId", "StartDates", "2")
Run Code Online (Sandbox Code Playgroud)
但他们甚至没有工作.
有办法通过linq查询或foreach循环创建选择列表并标记每个项目的选定属性,但为什么上述不起作用?
Paw*_*iya 23
发现了问题.
我正在做的错误是使用它
m => m.SchoolYears // m.SchoolYears in a list of string
Run Code Online (Sandbox Code Playgroud)
当我把它改成这个
m => m.SelectedYearId // m.SelectedYearId is an integer property
Run Code Online (Sandbox Code Playgroud)
它就像一个魅力,所以最后我有这个工作
@Html.DropDownListFor(m => m.SelectedYearId, new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId), new { @class = "field_Dropdown", style = "width:100px;",onchange="return searchStudents();" })
Run Code Online (Sandbox Code Playgroud)
谢谢!
| 归档时间: |
|
| 查看次数: |
20759 次 |
| 最近记录: |