繁体   English   中英

如何将数据传递到局部视图?

[英]How to pass data to a partial view?

我正在使用带有实体框架的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());

        }

怎么做?

您可以像这样将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()来实现查询,然后再将其传递给视图。

只需将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());


        }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM