关于c#:DropDownListFor中未选择默认值

Default value not selected in DropDownListFor

本问题已经有最佳答案,请猛点这里访问。

使用 EF 6 处理 MVC 5 应用程序。我正在加载一个下拉列表,但默认选择的值无法正常工作。任何想法为什么?

这是我的 ViewModel 的一部分...

1
2
3
4
5
6
7
public class ToolQuestionViewModelEdit
{
    public ToolQuestion ToolQuestion { get; set; }

    public SelectList ToolQuestionCategoryList { get; set; }
    public int SelectedToolQuestionCategory { get; set; }
}

这是填充选择列表的控制器代码...

1
2
3
4
5
vm.ToolQuestionCategoryList = new SelectList(
    this.db.ToolQuestionCategories,
   "Id",
   "ToolQuestionCategory1",
    ToolQuestion.ToolQuestionCategoryId);

这是我的剃须刀密码...

1
2
3
@Html.DropDownListFor(c => c.SelectedToolQuestionCategory,
  Model.ToolQuestionCategoryList as SelectList,
  new { @class ="form-control" })

在即时窗口中,当我调试我的代码时,我看到所选值工作正常...

1
2
? vm.AuditQuestionCategoryList.SelectedValue
  82

82 是应该选择的正确值。但是,视图始终默认为第一项。下拉列表正确显示了正确的项目,因此我知道它正在正确读取视图模型。

有什么想法吗?好像我正在写这篇文章。


尝试在控制器中为 SelectedToolQuestionCategory 设置一个值,然后将其传递给视图