2016-09-20 2 views
-1

Привет я хочу, чтобы Сформировать представления страницы, как это с помощью петлевой концепции,Как использовать вложенный цикл Еогеаспа внутри цикл в Asp.Net MVC

No CType PNum 
1 Cap  12 
2 Bottle 23 

вот мой View Page

@for (int i = 1; i < (Enumerable.Count(@ViewBag.TestComponent_ComponentType)); i++) 
      { 
       foreach (string component_type in ViewBag.TestComponent_ComponentType) 
       { 
        foreach (string part_number in ViewBag.TestComponent_ComponentPNumb) 
        { 
         <td>@i) </td> 
         <td> @Html.Raw(component_type)</td> 
         <td>(Part #:@Html.Raw(part_number))</td> 
         i = i + 1; 
        } 
       } 
      } 

и вот мой контроллер

ViewBag.TestComponent_ComponentType = context.Test_Component.Where(x => x.TestRequestId == id).Select(x => x.ComponentType).ToList(); 
    ViewBag.TestComponent_ComponentPNumb = context.Test_Component.Where(x => x.TestRequestId == id).Select(x => x.PartNumber).ToList(); 

, пожалуйста, помогите мне.

+0

А что не так с кодом? Вы получаете какие-либо ошибки? –

+0

Нет, я не получаю никаких ошибок, Мой код будет генерировать несколько данных, означает 1 CType = 2PNum, –

ответ

1

Прежде всего, поскольку обе коллекции имеют значения из свойств одного и того же объекта, вам не нужно создавать две коллекции. Я хотел бы предложить вам попробовать это: В контроллере:

ViewBag.ComponentData = context.Test_Component.Where(x => x.TestRequestId == id).ToList(); 

На ваш взгляд:

@{ 
    List<Test_Component> compList = ViewBag.ComponentData; 
    int count = 1; 
} 
<table> 
<tr> 
     <th>No</th> 
     <th>cType</th> 
     <th>pNum</th> 
</tr> 
@foreach(Test_Component t in compList) 
{ 
    <tr> 
      <td>@count</td> 
      <td>@t.ComponentType</td> 
      <td>@t.PNum</td> 
    </tr> 
    count++; 
} 
</table> 
Смежные вопросы