0

我有一个注册表单使用一个名为 registerViewModel 的 ViewModel。我正在尝试添加一个允许用户选择等级的下拉列表。成绩数据应来自名为“GradeMatrix”的模型

在我的帐户控制器中,我有以下内容 -

[HttpPost]
        public ActionResult Register(RegisterViewModel viewModel)
        {
            PopulateGradeDropDownList(viewModel.GradeID);

我也有 -

private void PopulateGradeDropDownList(object selectedGrade = null)
        {
            var gradeQuery = from d in db.GradeMatrix
                             orderby d.GradeName
                             select d;

            ViewBag.GradeID = new SelectList(gradeQuery, "GradeID", "GradeName", selectedGrade);

        }

在我看来,我有 -

@Html.DropDownList("GradeID", string.Empty)

当我单击我的注册链接时,我收到以下错误 -

There is no ViewData item of type 'IEnumerable<SelectListItem>' that has the key 'GradeID'.

有什么我想念的吗?

4

1 回答 1

0

视图代码应该是:

@Html.DropDownList(string.Empty, (SelectList)ViewBag.GradeID)
于 2012-10-11T15:00:13.557 回答