2013-03-15 3 views
1

Я использую 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()); 

     } 

Как это сделать?

ответ

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() материализовать запрос перед передачей его на виду.

+0

Я не могу understand.I о покупке передать запрос2 на частичный просмотр. – user1348351

+0

@ user1348351 Извините, я сначала не понял проблему. Я обновил ответ, чтобы быть более полным. –

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


     } 
Смежные вопросы