【问题标题】:If list returns empty display message如果列表返回空显示消息
【发布时间】:2013-10-06 04:03:20
【问题描述】:

使用 MVC,我将 Projects 列表传递给视图。

@if (Model.Projects != null && Model.Projects.Count > 0)
{
<fieldset>
    <table class="items" summary="@T("This is a table of the delivery Runs in your application")">
        <colgroup>
}

else
{
//no data available
}

Model.Projects.Count > 0 表示:

operator > 不能应用于“方法组”类型的操作数和 'int'

【问题讨论】:

    标签: c# asp.net asp.net-mvc-3 view count


    【解决方案1】:

    怎么样

    Model.Projects.Count() &gt; 0

    Model.Projects.Any()
    

    如果您使用的是 resharper,它会推荐您使用 Model.Projects.Any()

    【讨论】:

    • 您绝对应该使用Any() 而不是Count(),因为您只关心是否有任何项目。在这种情况下,无需计算可能很大的集合中的项目。
    【解决方案2】:

    您将Count 视为财产。

    这是一种方法。您需要致电Count()。例如

    @if (Model.Projects != null && Model.Projects.Count() > 0)
    {
    <fieldset>
        <table class="items" summary="@T("This is a table of the delivery Runs in your    application")">
            <colgroup>
    }
    

    【讨论】:

      【解决方案3】:

      计数是一种方法。您的代码必须是

      Model.Projects.Count()
      

      【讨论】:

      • 或者更好,Model.Projects.Any()
      【解决方案4】:

      您在 Count 之后缺少括号。 Count() 是一个方法而不是一个属性,所以你的代码应该是:

      @if (Model.Projects != null && Model.Projects.Count() > 0)
      {
          <fieldset>
              <table class="items" summary="@T("This is a table of the delivery Runs in your application")">
              <colgroup>
      }
      

      但是看到你只关心Model.Projects中是否有任何元素,而不是有多少,而不是

      Model.Projects.Count() > 0
      

      你可以使用

      Model.Projects.Any()
      

      【讨论】:

        猜你喜欢
        • 2015-12-20
        • 2014-11-08
        • 1970-01-01
        • 2011-01-27
        • 2018-10-01
        • 1970-01-01
        • 2017-09-28
        • 1970-01-01
        • 2010-12-31
        相关资源
        最近更新 更多