1

asp.net mvc プロジェクトにビューが 1 つあります。

 <div id="featured">
       <% Html.RenderPartial("../Shared/UserControls/RelatedProduct", Model.ProductDetail); %>
 </div>

コントローラ:

 public ActionResult ProductSpec(int id, int dep, int cat, int tab)
 {
    var pvc = new CMSViewModel()
    {
       ItemDetail = new ProductVM()
       {
          GetItemReference = DataContext.GetItemReferences()
       }
    };
    return View(pvc);
}

これは私の部分的なビューです:

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Web.ModelView.ProductVM>" %>
    <ul class="ui-tabs-nav">
    <%        
        for(int i=0; i<(Model.GetItemReference.Count());i++) {
           //list all item from model
        } 
    %>
    </ul>

問題: 部分ビューのアイテムが空の場合、ビューは空白になります。部分ビューのアイテムをビューでカウントしたいので、空白の場合は別の Null Image に置き換えます。

ビューの部分ビューでアイテムをカウントする方法を教えてください。

4

1 に答える 1

2

つまり、コレクション内の要素をレンダリングする前に、その要素が利用可能かどうかを確認することをお勧めします。そのための正しいSystem.Linq方法は.Any().

概念を示すサンプルを次に示します。

 <%     
    if(Model.GetItemReference.Any())
    {
       // Render your content
        for(int i=0; i<(Model.GetItemReference.Count());i++) {
           //list all item from model
        }
     }
    else {
     //
     // Render your content when NO Items
    } 
    %>
于 2013-01-03T03:23:31.750 に答える