C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

ソート可能一覧がる検索画面でチェックボックスのデフォルト値

[トピック内 2 記事 (1 - 2 表示)]  << 0 >>

■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で行うようになっています。
このやり方は他の記事でも多く見受けられるので、一般的なやり方と認識しているのですが、
チェックボックスのデフォルト値は設定できないのでしょうか?






引用返信 編集キー/
■96067 / inTopicNo.2)  Re[1]: ソート可能一覧がる検索画面でチェックボックスのデフォルト値
□投稿者/ はる (38回)-(2020/10/19(Mon) 18:01:02)
No96066 (はる さん) に返信

自己レスです。

以下のようにコンストラクタで設定することにより初期値を設定することができました。

  public SearchTvView() {
  IsAnime = true;
  }
解決済み
引用返信 編集キー/

このトピックをツリーで一括表示


トピック内ページ移動 / << 0 >>

このトピックに書きこむ