1

我将 ASP.NET MVC 与实体框架一起使用。我有两个查询在同一个视图中显示不同的表。

一个是

 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());

        }

怎么做?

4

2 回答 2

2

您可以像这样添加query2ViewBag控制器中:

public ActionResult AddContract(int id)
{
    ...
    this.ViewBag.Query2 = query2;
    return View(query .ToList());
}

然后只需使用方法的重载将您希望局部视图呈现为参数的视图模型传递Partial

@Html.Partial("RemoveContract", ViewBag.Query2)

注意:根据您的设置,您可能需要在this.ViewBag.Query2 = query2.ToList()将查询传递给视图之前使用它来实现查询。

于 2013-03-15T05:54:48.427 回答
0

只需传递Model@Html.Partial

@Html.Partial("RemoveContract",Model) 

如果您要将 query2 传递给您的部分,那么您需要这样做:

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());


        }
于 2013-03-15T06:04:07.470 回答