【发布时间】:2011-10-23 12:09:22
【问题描述】:
这就是我所拥有的:我有一个数据库,其中有一个名为“Students”的表。 我还有一个部分班级“学生”。 我需要向用户显示列表框:一个是普通学生,一个是没有上课的学生。所以我有一个 actionresult 返回两个列表框......但它不工作......我做错了什么?
这是部分类“Docent”的布局:
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。 但我的问题是,我可以将对象“学生”传递给我的列表框吗?还是应该将所有内容都转换为字符串?
班级学生模型:
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 方法
我该怎么办?
【问题讨论】:
标签: c# asp.net-mvc data-binding binding listbox