ASP.NET mvc:在两个列表框中填充数据(绑定数据)
本文关键字:数据 列表 绑定 填充 两个 mvc NET ASP | 更新日期: 2023-09-27 18:05:16
可能重复:
ASP。NET mvc:在列表框中填充(绑定数据(
这就是我所拥有的:我有一个数据库,其中有一个名为"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。但我的问题是,我可以将对象"Student"传递到我的列表框中吗?还是应该将所有内容转换为字符串
班级学生模型:
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 的方法
我该怎么办?
视图中的第一行应该包括:
<%@ Inherits="System.Web.Mvc.ViewPage<StudentModel>" %>
这告诉您的视图"Model"是StudentModel类型。如果第一行中还有其他部分(标题、语言、MasterPageFile等(,它们可以留在那里。