この問題に関連する多くの質問と回答が見つかりましたが、何もうまくいきませんでした
このようなドロップダウンリストを作成しています
@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の問題
だから私はこれらすべてのバリエーションを試しました
new SelectList(Model.SchoolYears, "YearId", "StartDates", Model.CurrentYearId.ToString())
new SelectList(Model.SchoolYears, "YearId", "StartDates", 2)
new SelectList(Model.SchoolYears, "YearId", "StartDates", "2")
しかし、それらは機能しませんでした。
linq クエリまたは foreach ループを介して選択リストを作成し、各項目の選択されたプロパティをマークする方法がありますが、上記が機能しないのはなぜですか?