没有数据时如何在MVC视图中隐藏表?

时间:2014-05-16 15:45:41

标签: asp.net-mvc linq asp.net-mvc-3

我使用Linq填充我的数据表。

我有硬编码标头。并使用Linq填充体柱。以下是我的代码。

<table id="tableID">
                <thead>
                    <tr>
                        <th>Name</th>
                        <th>ID</th>
                        <th style="width:2%;"></th>
                    </tr>
                </thead>
                <tbody>
                     @if(Model.Values !=null)
                {
                    foreach(var value in Model.Values)
                    {   
                        <tr>
                            <td>@value.Name</td>
                            <td>@value.ID</td>
                        </tr>
                    }
                }


                </tbody>
            </table>

我想在这里做什么,如果没有数据表不应该是可见的。我想移动我的条件检查,如果模型在创建表之前返回null但是它会抛出异常。我对MVC很新。任何建议表示赞赏。 谢谢

1 个答案:

答案 0 :(得分:1)

只需在表中放置一个if以检查属性是否为空,并且该列表的计数大于0,然后应该呈现表。

 @if(Model  != null)
    {
    if(Model.Values != null && Model.Values.Count != 0)
    {
    <table id="tableID">
                    <thead>
                        <tr>
                            <th>Name</th>
                            <th>ID</th>
                            <th style="width:2%;"></th>
                        </tr>
                    </thead>
                    <tbody>

                        @foreach(var value in Model.Values)
                        {   
                            <tr>
                                <td>@value.Name</td>
                                <td>@value.ID</td>
                            </tr>
                        }
                    </tbody>
                </table>
    }
}