C# 是否创建视图(索引)以显示特定id的记录列表?

C# 是否创建视图(索引)以显示特定id的记录列表?,c#,asp.net-mvc,asp.net-mvc-views,C#,Asp.net Mvc,Asp.net Mvc Views,早上好,伙计们 我在mvc项目中使用c。我有一个列出家庭成员的索引视图 这可以很好地工作,并可以收回数据库中的所有记录 public ActionResult Index() { List<Household> houseRecords = db.Households.ToList(); return View(houseRecords); } public ActionResult Index() { List housecor

早上好,伙计们

我在mvc项目中使用c。我有一个列出家庭成员的索引视图

这可以很好地工作,并可以收回数据库中的所有记录

 public ActionResult Index()
    {
        List<Household> houseRecords = db.Households.ToList();

        return View(houseRecords);
    }
public ActionResult Index()
{
List housecords=db.houses.ToList();
返回视图(房屋记录);
}
我已经创建了另一个名为ListMembers()的列表视图页面,此列表基于家庭成员,因此我希望此视图能够收回我创建的转诊(ClientId)的特定记录

我想我可以在我的列表代码中添加一个where子句,并基于ClientId,但我不能100%肯定这会起作用

 List<Household> houseRecords = db.Households.ToList().Where(x => x.ClientId = x.id);
List housecords=db.houses.ToList()。其中(x=>x.ClientId=x.id);
谁能给我指出正确的方向吗

问候
Betty

假设您希望根据通过URL传入的id筛选列表,您可以向操作方法添加一个参数,并使用该参数进行筛选

请注意,根据问题中的示例,您应该在
IQueryable
上执行筛选逻辑,而不是在调用
ToList()
后执行筛选逻辑,以防止将所有记录加载到内存中

// <root>/<controller>/ListMembers/123 (using default route)
public ActionResult ListMembers(int clientId)
{
    var houseRecords = db.Households.Where(x => x.ClientId == clientId).ToList();
    return View(houseRecords);
}
///ListMembers/123(使用默认路由)
公共操作结果列表成员(int clientId)
{
var housecords=db.houses.Where(x=>x.ClientId==ClientId.ToList();
返回视图(房屋记录);
}

我相信它可以正常工作,但你可以这样做

 var  houseRecords = db.Households.Where(x => x.ClientId = x.id).ToList(); 

我认为最好在得到最终列表之前先做一下where,我不知道你为什么说“你认为它行不通”? 我在你提到的问题中看到的是
1.
List housecords=db.houses.ToList()。其中(x=>x.ClientId=x.id)应更改为

List<Household> houseRecords = db.Households.Where(x => x.ClientId = x.id).ToList();
List housecords=db.houses.Where(x=>x.ClientId=x.id).ToList();
请注意末尾的.ToList

  • 因为您正在创建一个名为

    名单成员()

  • 您应该了解如何创建一个接受客户机id的操作方法,然后在查询中使用它。像这样的 公共操作结果列表成员(int clientId) { var housecords=db.houses.Where(x=>x.ClientId=ClientId.ToList(); 返回视图(房屋记录); } 然后根据你的路线,你可以像这样调用这个方法

    http://<BaseUrl>/ListMembers?clientId=123
    
    http:///ListMembers?clientId=123