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 に答える