@model IEnumerable<Framely2011.Models.Frames> @{ ViewBag.Title = "Index"; } <h2>Index</h2> <p> @Html.ActionLink("Create New","Create") </p> <table> <tr> <th></th> <th> PictureID </th> <th> UserID </th> </tr> @foreach (var item in Model) { <tr> <td> @Html.ActionLink("Edit","Edit",new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Details","Details",new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Delete","Delete",new { /* id=item.PrimaryKey */ }) </td> <td> @item.PictureID </td> <td> @item.UserID </td> <td> Meta 1: @item.MetaTagsObj.Meta1 Meta 2: @item.MetaTagsObj.Meta2 Meta 3: @item.MetaTagsObj.Meta3 </td> </tr> } </table>
如果模型出现空白,我怎么才能让它打印出“没有框架”以便根本不打印任何html表格,我认为简单的if语句就足够了,但我是razor的新手我不确定如何做到这一点.
解决方法
将其添加到页面顶部:
@using System.Linq
然后用这个块替换你的代码.
@if( !Model.Any() ) { <tr><td colspan="4">There are no Frames</td></tr> } else { foreach (var item in Model) { <tr> <td> @Html.ActionLink("Edit",new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Details",new { /* id=item.PrimaryKey */ }) | @Html.ActionLink("Delete",new { /* id=item.PrimaryKey */ }) </td> <td> @item.PictureID </td> <td> @item.UserID </td> <td> Meta 1: @item.MetaTagsObj.Meta1 Meta 2: @item.MetaTagsObj.Meta2 Meta 3: @item.MetaTagsObj.Meta3 </td> </tr> } }