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
내가 무엇을해야합니까 알고하지 않습니다? 보기에