在我的MVC項目,我有一個Course
模型是這樣的:如何爲SelectList指定SelectedValue?
public class Course
{
[Key]
public int CourseId { get; set; }
[Required, MaxLength(50)]
public string Name { get; set; }
// bunch of other properties
}
我在我的行動創造一些Courses
一個的SelectList
var user = context.Users.Include("Courses")
.FirstOrDefault(x => x.Email == User.Identity.Name);
var courses = user.Courses.OrderBy(x => x.Name);
ViewBag.Courses = new SelectList(courses, "CourseId", "Name");`
我有一個可爲空courseId
參數我Action
這樣的:
public ActionResult Index(int? courseId)
如果它不爲空,我想改變DEF行兇選擇的值到course.In爲了做到這一點我想:
if (courseId != null)
{
var selectedCourse = courses
.FirstOrDefault(x => x.CourseId == courseId.Value);
if (selectedCourse != null)
{
ViewBag.Courses = new SelectList(courses, "CourseId", "Name", selectedCourse.CourseId);
}
}
但它不工作,selectedCourse
是的規定Course
我看到在我的列表中的第一選擇當然不是每null
。相反時間。我錯過了什麼?
編輯:我在我的View
創建DropdownList
這樣的:
@Html.Bootstrap().DropDownList("Courses", (SelectList)ViewBag.Courses)
使用空合併運算符''??你 – Jonesopolis
可以只設置的值'CourseId',它應該工作。如果該值有效(例如,「1,2,3,4」列表中的'2'),它將在「
@AmarDuplantier我用_razor stuff更新了我的問題_ –