2013-05-03 3 views
0

Я разрабатываю приложение MVC.Как отображать элементы списка в поле зрения, переданные с контроллера?

Я хочу создать список в контроллере и передать его в представление.

Я написал метод в контроллере, но не знаю, как назвать его формой и отобразить значение, которое оно возвращает.

Метод в контроллере.

public List<Invoice> GetInvoiceList(int Pid) 
     { 
      List<Invoice> Invoices = new List<Invoice>();   
      var InvoiceList = (from i in db.Invoices 
          where i.PaymentAdviceId == Pid 
          select i); 
      Invoices = InvoiceList.ToList(); 

      return (Invoices); 
     } 

View Code

<div class="row-fluid"> 
     <table class="table table-striped table-hover"> 
      <thead> 
       <tr> 
        <th>Advice No 
        </th> 
        <th> 
        Invoices 
        </th> 
       </tr> 
      </thead> 

      @foreach (var item in Model) 
      { 
       <tbody> 
        <tr> 
         <td> 
          @Html.DisplayFor(modelItem => item.AdviceNo) 
         </td> 

         I wan to call the controller method GetInvoiceList here and 
         want to display list items here... 
         <td> 


        </tr> 
       </tbody> 
+0

Вы должны заглянуть в ajax для чего-то подобного. – Nomad101

+0

ajax? Я так не думаю ... – bnil

+0

почему бы и нет? вы вызываете функцию сервера из html на загрузке правильно? Думаю, я ошибаюсь в том, что вы пытаетесь сделать. – Nomad101

ответ

1

Добавить PartialView в ваш проект, который имеет это модель установлена ​​на List<Invoice>

затем изменить код:

public PartialViewResult GetInvoiceList(int Pid) 
    { 
     List<Invoice> Invoices = new List<Invoice>();   
     var InvoiceList = (from i in db.Invoices 
         where i.PaymentAdviceId == Pid 
         select i); 
     Invoices = InvoiceList.ToList(); 

     return PartialView("partialViewName", Invoices); 
    } 

в вашей другой точки зрения:

<tr> 
     <td> 
      @Html.DisplayFor(modelItem => item.AdviceNo) 
     </td> 
     <td> @Html.Action("GetInvoiceList", new {Pid = item.id})</td> 
    </tr> 
+0

Я пробовал то же самое, что показывал ошибку- ** Невозможно неявно преобразовать тип 'void' в 'object' ** – bnil

+0

, где вы получаете эту ошибку. –

+0

'@ Html.RenderAction (« GetInvoiceList », новый {Pid = item.id})' in view – bnil

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