■96066 / inTopicNo.1) |
ソート可能一覧がる検索画面でチェックボックスのデフォルト値 |
□投稿者/ はる (37回)-(2020/10/19(Mon) 17:54:28)
|
分類:[.NET 全般]
VisualStudio2019のASP.NET MVCでEntityFrameworkのコードファーストにて開発しています。
https://docs.microsoft.com/ja-jp/aspnet/mvc/overview/older-versions/getting-started-with-ef-5-using-mvc-4/sorting-filtering-and-paging-with-the-entity-framework-in-an-asp-net-mvc-application
を参考にソート変更可能な一覧を持つ検索画面を作成しています。 このチュートリアルでは、ソート(GET)も検索(POST)も同じIndexメソッドで実装されています。
それを踏まえて以下のようなモデルをバインドして作成しています。
■ビューモデル public class SearchTvView //このクラスは画面からの引数受け取り用 { [DisplayName("ソート順")] public string SortOrder { get; set; } //こちらはチュートリアルにある「sortOrder」パラメータです。
[DisplayName("アニメフラグ")] public bool IsAnime { get; set; } //アニメ番組かどうか
[DisplayName("結果一覧")] public List<TvItemView> TvItemViews { get; set; } }
public class TvItemView //このクラスは一覧画面表示用 { [DisplayName("テレビID")] public string TvId { get; set; }
[DisplayName("番組名")] public bool TvName { get; set; }
[DisplayName("アニメフラグ")] public bool IsAnime { get; set; } }
■ビュー <label> @Html.CheckBoxFor(m => m.IsAnime, new { @Selected = "Selected" })アニメ </label>
■コントローラー public async Task<ActionResult> Index(SearchTvView pSearchTvView) { SearchTvView model = pSearchTvView;
//〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜 //「model.IsAnime」を使用して絞り込み // model.TvItemViewsに結果一覧を設定 //〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
return View(model); }
上記、内容で、検索、一覧の取得、並び替えはできているのですが、 画面を表示した際の「model.IsAnime」をデフォルトTrueにすることが出来なく、悩んでいます。 IndexメソッドがGETとPOSTで分かれていれば、GET時に model.IsAnime = true; をするだけで出来そうなのですが、チュートリアルのソートはActionLinkでGETで行うようになっています。 このやり方は他の記事でも多く見受けられるので、一般的なやり方と認識しているのですが、 チェックボックスのデフォルト値は設定できないのでしょうか?
|
|