【问题标题】:Count item it partial view in View of asp.net mvc在 asp.net mvc 的视图中计算它的部分视图
【发布时间】:2013-01-03 03:13:04
【问题描述】:

我在我的 asp.net mvc 项目中有一个视图:

 <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>

问题:当部分视图中的项目为空时,视图将为空白。 我想统计View中的部分视图项,所以如果它为空,我会用另一个Null Image替换它。

谁能告诉我如何计算视图中部分视图中的项目。

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-partialview


    【解决方案1】:

    简而言之:最好在呈现之前检查集合中元素的可用性。正确的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
        } 
        %>
    

    【讨论】:

    • ElYusubov,但是当部分视图中的项目为空时,我还想更改视图中的某些内容。
    • 你可以在你的 ViewModel 中引入一个条件属性,它可以为你解决这个问题。或者你也可以使用js来完成。
    • ElYusubov,conditional property in ViewModel 是什么意思?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多