【问题标题】:ASP.NET mvc : populate data (bind data) in two listboxes [duplicate]ASP.NET mvc:在两个列表框中填充数据(绑定数据)[重复]
【发布时间】:2011-10-23 12:09:22
【问题描述】:

可能重复:
ASP.NET mvc : populate (bind data) in listbox

这就是我所拥有的:我有一个数据库,其中有一个名为“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


    【解决方案1】:

    您的视图中的第一行应包括:

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

    这告诉您“模型”是 StudentModel 类型的视图。如果第一行中还有其他位(Title、Language、MasterPageFile 等),它们可以留在那里。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-08
      • 1970-01-01
      • 2022-10-07
      相关资源
      最近更新 更多