2016-09-20 1 views
-1

Hallo ich die Ansicht Seite wie diese mit Looping Konzept generieren möchten,Wie Nested foreach-Schleife für Schleife innen verwenden, in Asp.Net MVC

No CType PNum 
1 Cap  12 
2 Bottle 23 

hier ist meine Ansicht Seite

@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; 
        } 
       } 
      } 

und hier ist mein Controller

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

bitte helfen Sie mir.

+0

Und was mit Ihrem Code falsch? Sie erhalten Fehler? –

+0

Nein, ich bekomme keinen Fehler, Mein Code generiert mehrere Daten, also 1 CTyp = 2PNum, –

Antwort

1

Erstens, da beide Sammlungen mit Werten aus den Eigenschaften des gleichen Objekts sind, müssen Sie nicht zwei Sammlungen erstellen. In Ihrem Controller: Ich würde Sie dies vorschlagen, versuchen

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

Ihrer Ansicht:

@{ 
    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> 
Verwandte Themen