2012-10-11 2 views
0

저는 registerView에 registerViewModel이라는 ViewModel을 사용하고 있습니다. 사용자가 성적을 선택할 수 있도록 드롭 다운을 추가하려고합니다.SelectList가 채워지지 않습니다.

[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); 

     } 

내보기에 내가 가진 수준의 데이터는 'GradeMatrix'

내 계정 컨트롤러에서 나는 다음과 같은 한라는 모델에서 와야한다 -

@ Html.DropDownList ("GradeID", String.Empty로)

내가 카스티 ick on my Register 링크 다음 오류가 발생합니다. -

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

누락 된 것이 있습니까?

답변

0

뷰 코드가 있어야한다 :

@Html.DropDownList(string.Empty, (SelectList)ViewBag.GradeID) 
+0

감사합니다,하지만 나에게 다른 오류 제공 - 'System.Web.Mvc.HtmlHelper을 '라는 이름의 적용 방법이 없습니다 'DropDownList로' 그 이름으로 확장 메소드가있는 것으로 보입니다. 확장 메서드는 동적으로 디스패치 할 수 없습니다. 동적 인수를 형변환하거나 확장 메서드 구문없이 확장 메서드를 호출하는 것이 좋습니다. –

+0

이것을 설명하기 위해 코드를 업데이트했습니다. –

+0

다시 한 번 감사드립니다.하지만 그 값은 null이거나 비어있을 수 없습니다. 매개 변수 이름 : name –

관련 문제