さまざまなモデルを取り、ホームページに概要ビューを表示する HomePageViewModel があります。
順序付けられていないリストとしてレンダリングしているドロップダウン リストの結果に基づいて、Announcements モデルをフィルター処理したいと思います。部分ビューなどを使用するのはこれが初めてで、読んだ後、Announcement Controller から DisplayAnnouncements を呼び出す HTML.Action 呼び出しを行うことにしました。
ただし、リストでクリックされたもののパラメーター (以下の例の「#」) を HTML.Action メソッドに渡す方法がわかりません。
これはホームページ ビューです。
<ul class="dropdown-menu">
<li><a href="#">All</a></li>
<li><a href="#">Legal</a></li>
<li><a href="#">Accounting</a></li>
</ul>
@Html.Action("DisplayAnnouncments", "Announcement", new { filter = "All" })
そして、これは私のアナウンスコントローラーです:
public ActionResult DisplayAnnouncments(string filter)
{
return PartialView("_Announcements",
(from a in db.Announcements
where a.Type == filter
select a).Take(4));
}
私の _Annoucments 部分ビュー:
<table class="table" style="table-layout: fixed">
@foreach (var item in Model)
{
<tr>
<td style="vertical-align: top; width: 70px">
@item.AnnouncmentDate.ToShortDateString()
</td>
<td>
<strong>@item.Title</strong><br />
@item.Announcment
</td>
</tr>
}
繰り返しになりますが、いくつか質問があります。
- HTML.Action に適切なフィルターを設定するためにユーザーがクリックしたリスト項目を取得するにはどうすればよいですか?
- HTML.Action はここで最高のものですか? 他のものを使用する必要がありますか?
- ページ全体が更新されないように部分ビューのみを更新するにはどうすればよいですか?
あなたの助けをありがとう、私はこれにかなり慣れていません!
ロビー