C#-ASP.NET MVC:在列表框中填充(绑定数据)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C#-ASP.NET MVC:在列表框中填充(绑定数据),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2418字,纯文字阅读大概需要4分钟。
内容图文
我需要用数据库中的数据填充两个列表框.
但是我需要在一个视图中显示两个列表框,因此我创建了一个ListBoxModel类.
public class ListboxModel
{
public ListBox LB1 { get; set; }
public ListBox LB2 { get; set; }
}
在我的控制器中:
public ActionResult IndexStudents(Docent docent, int lessonid, int classid)
{
var MyListBox = new ListboxModel
{
LB1 = new ListBox(docent.ReturnStudentsNormal(lessonid, classid),
LB2 = new ListBox(docent.ReturnStudentsNoClass(lessonid, classid)
};
return View(MyListBox);
}
但是此代码不起作用,如何将数据绑定到列表框?
因此,我想使用2个模型,每个列表框一个.一个普通学生,一个未订阅课程的学生.
我该怎么办?
在我看来,我必须编写什么代码?
就像是:
<div class="editor-field">
<%: Html.ListBox("IndexStudentsNormal", Model.LB1) %>
<div class="editor-field">
<%: Html.ListBox("IndexStudentsNoClass", Model.LB2) %>
列表框必须是具有多个列的列表框,以便它可以包含学生的姓名,先生姓名,班级,老师.
Student是一个对象,我想在该列表框中显示student.Name,student.Sirname,student.Class等.
那么我可以在ListBox中使用对象,还是必须将所有内容都转换为字符串?
我怎样才能做到这一点?
提前致谢!
解决方法:
基于Jason’s answer,视图中的第一行应包括:
<%@ Inherits="System.Web.Mvc.ViewPage<StudentModel>" %>
这告诉您视图“模型”的类型为StudentModel.如果第一行中还有其他内容(标题,语言,MasterPageFile等),则可以留在此处.
-编辑:添加冗长的评论-
要记住的是,SelectListItem具有三个必需的部分:值,文本和选定的.值是关键,因此像StudentId或DocentId之类的东西.文本显示在列表中,因此像StudentName或DocentName. Selected表示是否在列表中选择此项目,通常为false.
现在看来,您有只返回学生姓名列表的方法(Docent.ReturnStudentsNormal()和Docent.ReturnStudentsNoClass()).我希望这些方法返回键值对的列表,键为StudentId,值为StudentName.
然后您可以将模型类更改为
public class StudentModel
{
List<SelectListItem> NormalStudents;
List<SelectListItem> StudentsNoClass;
}
并在您的控制器中
public ActionResult IndexStudents(Docent docent, int lessonId, int classId)
{
var studentModel = new StudentModel();
var normalStudents = docent.ReturnStudentsNormal(lessonId, classId);
foreach (var student in normalStudents)
{
studentModel.NormalStudents.Add(new SelectListItem() {Value = student.Key, Text = student.Value});
}
var studentsNoClass = docent.ReturnStudentsNormal(lessonId, classId);
foreach (var student in studentsNoClass)
{
studentModel.StudentsNoClass.Add(new SelectListItem() {Value = student.Key, Text = student.Value});
}
return View(studentModel);
}
现在,您可以直接在模型中将这些属性用于Html.ListBox().
内容总结
以上是互联网集市为您收集整理的C#-ASP.NET MVC:在列表框中填充(绑定数据)全部内容,希望文章能够帮你解决C#-ASP.NET MVC:在列表框中填充(绑定数据)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。