C# 是否创建视图(索引)以显示特定id的记录列表?
早上好,伙计们 我在mvc项目中使用c。我有一个列出家庭成员的索引视图 这可以很好地工作,并可以收回数据库中的所有记录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
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