2017-04-04 4 views
1

申し訳ありませんが、これをどのようにタイトル付けするのか分かりませんでした。 私はアナウンスを表示するウェブページを持っています。私が気づいていなかったのは、「アナウンスがありません」という表示があれば、アナウンスがあるかどうかということです。Viewが結果を受け取っていないかどうかを確認する方法

私のようなものを試してみた:

if(db.Announcements.toArray().length == 0){ 
    return View(null); 
} 

が、それは動作しません。このようなものはどこで扱うのですか?ビュー/コントローラ?

ビュー:

@model IEnumerable<Remake.Models.Announcement> 

@{ 
    ViewBag.Title = "Announcements"; 
} 

<h2>Announcements</h2> 

@if (User.Identity.IsAuthenticated) 
{ <p> 
     @Html.ActionLink("Create New", "Create") 
    </p> 

    <table class="table"> 
     <tr> 
      <th> 
       <b> @Html.DisplayNameFor(model => model.Title)</b> 
      </th> 
      <th> 
       @Html.DisplayNameFor(model => model.Content) 
      </th> 
      <th width="10%"> 
       @Html.DisplayName("Date") 
      </th> 

      <th></th> 
     </tr> 

     @foreach (var item in Model) 
     { 
      <tr> 
       <td> 
        <b> @Html.DisplayFor(modelItem => item.Title)</b> 
       </td> 
       <td> 
        @Html.DisplayFor(modelItem => item.Content) 
       </td> 
       <td> 
        <b>@Html.DisplayFor(modelItem => item.PostDate)</b> 
       </td> 

       <td> 
        @Html.ActionLink("Edit", "Edit", new { id = item.AnnouncementId }) | 
        @Html.ActionLink("Comments", "Details", new { id = item.AnnouncementId }) | 
        @Html.ActionLink("Delete", "Delete", new { id = item.AnnouncementId }) 
       </td> 
      </tr> 
     } 

    </table> 

} 
else 
{ 
    <p>Please sign in to create an Announcement</p> 
} 

コントローラー:モデルはIEnumerable<Announcement>のように定義されているので

// GET: Announcements 
    public ActionResult Index() 
    { 

     return View(db.Announcements.ToList()); 
    } 
+0

'if(Model.Any()){//アナウンスを表示} else {//空のメッセージを表示}' – haim770

+0

@ haim770 Brillaint、ありがとう。あなたが答えたら私は正しいとマークします。 – user3042332

答えて

1

、あなたは単にそれが空だかどうかをチェックするためにAny()を使用することができます。

@if (Model.Any()) 
{ 
    // show announcements 
    foreach (var item in Model) 
    { 
     // ... 
    } 
} 
else 
{ 
    // show message when empty 
    <p>No announcements</p> 
} 

MSDN

0123を参照してください
+0

9分で受け付けます。 – user3042332

関連する問題