隐藏表或网格并在ASP.NET MVC中显示“找不到记录”消息

时间:2010-01-16 11:54:37

标签: asp.net-mvc html-helper

隐藏自定义网格或表格或div并在没有记录时显示“未找到记录”消息的最佳做法是什么。

我想出了这个想法。

<div class="<%= Html.IsVisible(Model.Count)">
    ...
    ..
    ..
</div>   

.displayNone {display:none;} .displayInherit {display:inherit;}

public static string IsVisible(this HtmlHelper helper,int recordCount)
{
     return recordCount == 0 ? "displayNone" : "displayInherit";
}

3 个答案:

答案 0 :(得分:3)

你的解决方案可以正常工作,但我认为你可能会稍微过度思考它:)

这样做非常好:

<% if (Model.Count == 0) { %>
    No Records Found
<% } else { %>
    // do something to show the Model information here
<% }

答案 1 :(得分:1)

在控制器中创建if?

如果Model.Count == 0则显示“EmptyView”,否则显示GridView

可以将空视图设为通用,以便从多个对象中使用。

答案 2 :(得分:0)

以下解决方案更适合剃刀引擎

@model IEnumerable<WebApp.Models.ArticleViewModel>

<div id="answers">
    @if (Model.Count() == 0)
    {
        <div class="question-summary">
            <p>No answer found</p>
        </div>
    }
    else
    {
        foreach (var item in Model)
        {
            <div class="question-summary">
                 @Html.Raw(item.Body)
            </div>
        }
    }

</div>