asp.net-mvc – 所选值不适用于SelectList

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – 所选值不适用于SelectList前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我发现了许多与这个问题有关的问题和答案,但对我来说没有任何效果

我正在创建一个这样的下拉列表

@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类型)

但是今年不会选择.

从这个帖子,我得到我们应该使用字符串的选定值(虽然我不知道为什么,因为它允许对象的选定值)

DropDownList SelectList SelectedValue issue

所以我尝试所有这些变化

new SelectList(Model.SchoolYears,Model.CurrentYearId.ToString())

new SelectList(Model.SchoolYears,2)

new SelectList(Model.SchoolYears,"2")

但他们甚至没有工作.

有办法通过linq查询或foreach循环创建选择列表,并标记每个项目的选定属性,但为什么上述不起作用?

解决方法

发现问题.

我在做的错误是使用这个

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();" })

谢谢!

猜你在找的asp.Net相关文章