2015-02-09 21 views
0

我想知道是否有更好的方式來設計我的網頁,而不使用foreach多次。我有3列將包含數據。不過,我必須在每列中使用foreach才能顯示數據。我想知道有沒有更好的方法來設計我的網頁,而不使用foreach多次

什麼是最好的處理方式。

我正在使用IEnumerable。

<div class="row"> 
    <div class="col-md-4"> 
     <h2>Getting started</h2> 
     @foreach (var item in Model) 
     { 
      var desc = item.PageContentLongDesc; 
      if (item.PageContentSeqNbr == 2) 
      { 
       <p> @Html.Raw(@desc)</p> 
      } 
     } 
     <p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301865">Learn more &raquo;</a></p> 
    </div> 
    <div class="col-md-4"> 
     <h2>Get more libraries</h2> 

     @foreach (var item in Model) 
     { 
      var desc = item.PageContentLongDesc; 
      if (item.PageContentSeqNbr == 3) 
      { 
       <p> @Html.Raw(@desc)</p> 
      } 
     } 

     <p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301866">Learn more &raquo;</a></p> 
    </div> 
    <div class="col-md-4"> 
     <h2>Web Hosting</h2> 
     @foreach (var item in Model) 
     { 
      var desc = item.PageContentLongDesc; 
      if (item.PageContentSeqNbr == 4) 
      { 
       <p> @Html.Raw(@desc)</p> 
      } 
     } 
     <p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301867">Learn more &raquo;</a></p> 
    </div> 
+0

看起來這可能是這樣的邏輯轉移到服務器端是個好主意,但它很難根據您的實例講述。 – wahwahwah 2015-02-09 03:05:19

+2

使用具有每個3個集合的屬性的視圖模型。至少你可以避免循環整個集合3次,然後你可以爲你的模型使用一個自定義的EditorTemplate,只需使用'@ Html.EditorFor(m => m.FirstCollection)'代替 – 2015-02-09 03:08:01

+0

謝謝,我會試試看。 – RThompson 2015-02-09 03:14:29

回答

0

好一點?很少有人會同意或不同意。

<div class="row"> 
<div class="col-md-4"> 
    <h2>Getting started</h2> 
    @foreach (var item in Model.Where(c => c.PageContentSeqNbr == 2)) 
    { 
     var desc = item.PageContentLongDesc; 
     <p> @Html.Raw(@desc)</p> 
    } 
    <p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301865">Learn more &raquo;</a></p> 
</div> 
<div class="col-md-4"> 
    <h2>Get more libraries</h2> 
    @foreach (var item in Model.Where(c => c.PageContentSeqNbr == 3)) 
    { 
     var desc = item.PageContentLongDesc; 
     <p> @Html.Raw(@desc)</p> 
    } 
    <p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301866">Learn more &raquo;</a></p> 
</div> 
<div class="col-md-4"> 
    <h2>Web Hosting</h2> 
    @foreach (var item in Model.Where(c => c.PageContentSeqNbr == 4)) 
    { 
     var desc = item.PageContentLongDesc; 
     <p> @Html.Raw(@desc)</p> 
    } 
    <p><a class="btn btn-default" href="http://go.microsoft.com/fwlink/?LinkId=301867">Learn more &raquo;</a></p> 
</div> 

+0

好吧,我喜歡那樣。 我決定嘗試使用Html.Action和PartialView。 – RThompson 2015-02-10 04:42:12

相關問題