2011-08-09 4 views
-2

Possible Duplicate:
ASP.NET mvc : populate (bind data) in listboxASP.NET의 MVC는 두 개의리스트 박스

이 내가 가진 무엇 데이터 (바인드 데이터)를 채울 : 나는 "학생"라는 이름의 테이블이있는 데이터베이스가 있습니다. 나는 또한 "학생"부분 수업도 있습니다. 사용자에게 목록 상자를 보여줄 필요가 있습니다. 하나는 일반 학생이고 다른 하나는 수업이없는 학생입니다. 그래서 두 개의 목록 상자를 반환하는 하나의 액션 결과가 있지만 ... 작동하지 않습니다 ... 내가 뭘 잘못 했습니까?

public IEnumerable<Student> GiveStudentsNormal(int lesson, int klass) 
     { 
      Lesson l = giveLesson(lesson); 
      Klass k = GiveKlass(lesson, klass); 
      return (k.Students).AsEnumerable(); 
     } 


public IEnumerable<Student> GiveStudentsNoClass(int lesson, int klass) 
      { 
       Lesson l = giveLesson(lesson); 
       Klass k = GiveKlass(lesson, klass); 
       return (k.Students).AsEnumerable(); 
      } 

그래서 내 컨트롤러에서 나는 학생들이 내 두 개의리스트 박스를 채우는 데 나열 사용

는 부분 클래스 '도슨트'의 레이아웃입니다. 그래서 한 컨트롤러는 같은보기에있는 두 개의 lisbox를 채워야합니다. 하지만 제 질문은, 객체 "Student"를 내 목록 상자에 전달할 수 있습니까? 아니면 모든 것을 문자열로 변환해야합니까?

클래스 StudentModel :

public class StudentModel 
    { 
     public IEnumerable<String> NormalStudents { get; set; } 
     public IEnumerable<String> NoClassStudents { get; set; } 
    } 

는하지만 실제로 클래스 StudentModel 필요합니까? 컨트롤러 :

public ActionResult IndexStudents(Docent docent, int lessonid, int klassid) 
     { 
      var studentModel = new StudentModel 
      { 
       NormalStudents = docent.GiveStudentsNormal(lessonid, classid), 
       NoClassStudents = docent.GiveStudentsNoClass(lessonid, classid) 
      }; 

      return View(studentModel); 
     } 

보기 :

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 

    <h2>IndexStudents</h2> 
    <div class="editor-field"> 
    <%: Html.ListBox("IndexStudentsNormal", Model.NormalStudents) %> 
    </div> 

    <div class="editor-field"> 
    <%: Html.ListBox("IndexStudentsNoClass", Model.NoClassStudents) %> 
    </div> 

</asp:Content> 

뷰는 오류 반환 :이 방법의 NormalStudents 및 NoClassStudents

내가 무엇을해야합니까 알고하지 않습니다? 보기에

답변

0

첫 번째 줄은 다음을 포함한다 : 이것은 "모델"타입 StudentModel의 것을보기를 알려줍니다

<%@ Inherits="System.Web.Mvc.ViewPage<StudentModel>" %> 

. 이 첫 번째 줄에 다른 비트 (제목, 언어, MasterPageFile 등)가 있으면 거기에 있어도 좋습니다.