【问题标题】:Select student record based on foreach loop根据 foreach 循环选择学生记录
【发布时间】:2017-08-24 07:58:01
【问题描述】:

我正在研究 MVC。我需要根据已注册的部门明智地选择学生名单并显示他们 根据已注册的部门,在不同的 div 上进行部门化。 我的数据库示例模式如下

学生桌

ID, Name

报名表

ID
Depart_id
Stdref_id

部门表

ID
DepartName

我正在尝试这样的事情:

public ActionResult NewStudentFeeStatus()
    {
        IEnumerable<tblStdDetail> mdl = null;
        var departments= (from d in db.tblDepartments select d).ToList();
        var query = "";
        List<StdListModel> model = new List<StdListModel>();
        foreach (var item in departments)
        {
            query = (from p in db.tblStdDetails
                     join e in db.tblStdEnrollments on p.ID equals 
                     e.StdReg_ref_id
                     where e.Depart_ref_id == @item.ID
                     select p).ToList();

        }
        return View();
    }

我需要一个指导或示例代码来获得所需的输出。我不知道下一步该做什么以及如何管理它。 如果您有任何想法,请帮助我。

【问题讨论】:

  • 你的问题是什么?你有什么问题? (而且您甚至没有将模型返回到您的视图中)
  • 我需要一个指导或示例代码来遵循所需的输出。我不知道下一步该做什么以及如何管理它。
  • @lilli,首先,您不能为单个字符串变量query 设置列表。修复你的代码并告诉我们你真正想要做什么

标签: c# asp.net-mvc entity-framework linq razor


【解决方案1】:

你可以这样做(我实现了你的问题!!):

数据库表

动作

public ActionResult NewStudentFeeStatus()
        {
            ViewBag.DeparmentList = db.tblDepartments.ToList();
            List<tblStdEnrollment> enrollmentList = (from p in db.tblStdDetails
                                                     join e in db.tblStdEnrollments on p.ID equals e.Stdref_id
                                                     select e).ToList();
            return View(enrollmentList);
        }

查看

@model IEnumerable<tblStdEnrollment>    

<!DOCTYPE html>

<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>NewStudentFeeStatus</title>
</head>
<body>
    <div>
        @foreach (var item in @ViewBag.DeparmentList)
        {            
            <div>@item.DepartName</div>
            foreach (var student in Model.Where(s => s.Depart_ref_id == item.ID).ToList())
            {                
                <div>@student.tblStdDetail.Name</div>
            }
        }
    </div>
</body>
</html>

【讨论】:

  • 我需要在不同的 div 中将学生分开,例如第一个 div 只包含 IT 学生,第二个 div 包含 CS 学生等。
  • @lilli 您需要用Depart_ref_id分隔吗?
  • 我已接受它作为正确答案,感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-26
  • 1970-01-01
  • 1970-01-01
  • 2023-03-08
  • 1970-01-01
相关资源
最近更新 更多