我正在使用ASP.NET MVC和Entity Framework。我有两个查询在同一视图中显示单独的表。
一个是
var query = from s in db.tblSites
where s.SiteStatus== 1
select s;
另一个是
var query2 = from s in db.tblSites
where s.SiteStatus== 0
select s;
所以我将使用@Html.RenderPartial
但我不知道如何传递数据。
我想将query2
数据传递给我的部分视图。
@Html.Partial("RemoveContract",--------) //I don't know how to pass data.
这是我的控制器
public ActionResult AddContract(int id)
{
var query = from s in db.tblSites
where s.SiteStatus== 1
select s;
var query2 = from s in db.tblSites
where s.SiteStatus== 0
select s;
return View(query .ToList());
}
怎么做?
答案 0 :(得分:2)
您可以将query2
添加到控制器的ViewBag
,如下所示:
public ActionResult AddContract(int id)
{
...
this.ViewBag.Query2 = query2;
return View(query .ToList());
}
然后使用Partial
方法的重载,传递您希望局部视图呈现为参数的视图模型。
@Html.Partial("RemoveContract", ViewBag.Query2)
注意:根据您的设置,您可能需要使用this.ViewBag.Query2 = query2.ToList()
来实现查询,然后再将其传递给视图。
答案 1 :(得分:0)
只需将Model
传递给@Html.Partial
@Html.Partial("RemoveContract",Model)
如果您要将query2传递给partial,那么您需要这样做:
public ActionResult AddContract(int id)
{
var query = from s in db.tblSites
where s.SiteStatus== 1
select s;
var query2 = from s in db.tblSites
where s.SiteStatus== 0
select s;
//return View(query .ToList());
return View(query2 .ToList());
}