Asp.net mvc 使用arraylist作为模型时如何在视图中显示数据
我有这样一个动作: 我必须通过arraylist中的不同列表发送数据 但无论我做了什么,我都无法在视图中正确显示数据Asp.net mvc 使用arraylist作为模型时如何在视图中显示数据,asp.net-mvc,Asp.net Mvc,我有这样一个动作: 我必须通过arraylist中的不同列表发送数据 但无论我做了什么,我都无法在视图中正确显示数据 public ActionResult StudentMainPage(string name) { ViewBag.studentName = name; string[] fullName = name.Split(' '); string firstName = fullName[0]; string
public ActionResult StudentMainPage(string name)
{
ViewBag.studentName = name;
string[] fullName = name.Split(' ');
string firstName = fullName[0];
string lastname = fullName[1];
List<string> CoursesName = new List<string>();
List<string> teachersName = new List<string>();
List<string> daysList = new List<string>();
List<int?> classnumberList = new List<int?>();
Guid studentId =
db.Students.Where(s => s.StudentName == firstName && s.StudentLastName == lastname)
.Select(s => s.Student_Id)
.First();
var relatedInfo = db.USP_GetClassInfoFroStudent(studentId).ToList();
foreach (var item in relatedInfo)
{
CoursesName.Add(db.Courses.Where(c => c.CourseId == item.CourseId).Select(c => c.CourseName).First());
teachersName.Add(db.Teachers.Where(t => t.Teacher_id == item.Teacher_Id)
.Select(t => t.TeacherLastName)
.First());
daysList.Add(
db.ClassMembers.Where(s => s.DaysInweek == item.DaysInweek).Select(d => d.DaysInweek).First());
classnumberList.Add(
db.ClassMembers.Where(n => n.classNumber == item.classNumber).Select(n => n.classNumber).First());
}
ArrayList data = new ArrayList();
data.Add(CoursesName);
data.Add(teachersName);
data.Add(daysList);
data.Add(classnumberList);
return View(data);
我认为你应该纠正你的外循环
@foreach (var items in Model as ArrayList)
在aArrayList
模型中循环遍历每个元素时,没有必要使用索引再次访问它的项,因为它将重复所有4次
List<string> courseName = Model[0] as List<string>;
List<string> teachersName = Model[1] as List<string>;
List<string> daysList = Model[2] as List<string>;
List<int?> classnumeber = Model[3] as List<int?>;
List courseName=Model[0]作为列表;
将teachersName=Model[1]列为列表;
将日期列表=模型[2]列为列表;
将classnumeber=型号[3]列为列表;
我建议移除外部
for loop
razor不会让你这么做。在视图中定义这样的变量是不可能的,因为它应该是@course
(而不是@courseName
)。但这是一个糟糕的解决方案。创建视图模型以表示视图中所需的内容。
@foreach (var items in Model as ArrayList)
List<string> courseName = Model[0] as List<string>;
List<string> teachersName = Model[1] as List<string>;
List<string> daysList = Model[2] as List<string>;
List<int?> classnumeber = Model[3] as List<int?>;