1

Entity Framework で ASP.NET MVC を使用しています。同じビューに別々のテーブルを表示する 2 つのクエリがあります。

一つは

 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

次のようにコントローラーのに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()、クエリをビューに渡す前に、を使用してクエリを具体化する必要がある場合があります。

于 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 に答える