ホームページ > バックエンド開発 > C++ > 強く型付けされたモデルを使用して、ASP.NET MVCの複数のチェックボックス選択を処理する方法は?

強く型付けされたモデルを使用して、ASP.NET MVCの複数のチェックボックス選択を処理する方法は?

Mary-Kate Olsen
リリース: 2025-01-31 17:51:10
オリジナル
455 人が閲覧しました

How to Handle Multiple Checkbox Selections in ASP.NET MVC Using Strongly Typed Models?

強く型付けされたモデルを使用して、ASP.NET MVCで複数のチェックボックスの選択を効率的に処理する

ASP.NET MVCアプリケーションは、チェックボックスを使用して選択可能なアイテムのリストをユーザーに提示する必要があることがよくあります。 複数のチェックボックスの選択を管理し、データをコントローラーに渡すことは複雑です。 この記事では、強力に型付けされたモデルとHTMLヘルパーを使用した堅牢なソリューションを示しています。

この課題は、リスト全体をビューに効果的に渡し、フォームの提出時に選択したアイテムのみを正確に取得することにあります。 強くタイプされたアプローチは、清潔で信頼できるソリューションを提供します。

モデル構造:

2つのビューモデルを定義します。1つは個々の役割用の1つ、もう1つはロールのリストを含む:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

public class RoleVM

{

    public int ID { get; set; }

    public string Name { get; set; }

    public bool IsSelected { get; set; }

}

 

public class UserVM

{

    public UserVM()

    {

        Roles = new List<RoleVM>();

    }

    public int ID { get; set; }

    public string Name { get; set; }

    public List<RoleVM> Roles { get; set; }

}

ログイン後にコピー
実装の表示:

ビューは

ループを活用し、強く入力したHTMLヘルパーを強く入力してチェックボックスを生成します。

forこのアプローチにより、フォームの提出時に、選択した値がビューモデルに適切に結合することが保証されます。 各役割の

プロパティは、ユーザーの選択を正確に反映しています。

1

2

3

4

5

@for (int i = 0; i < Model.Roles.Count; i++)

{

    @Html.CheckBoxFor(m => m.Roles[i].IsSelected)

    @Html.LabelFor(m => m.Roles[i].IsSelected, Model.Roles[i].Name)

}

ログイン後にコピー

コントローラーアクション:IsSelected

フォームの提出後、コントローラーのアクションは、

プロパティ値に基づいて選択された役割をに自動的に入力します。 その後、必要に応じて選択した役割を処理できます この方法は、ASP.NET MVCの複数のチェックボックス選択を処理するための明確で保守可能で効率的な方法を提供し、手動データ処理に関連する一般的な落とし穴を回避します。 強くタイプされたモデルを使用すると、コードの読みやすさが向上し、エラーのリスクが低下します。

以上が強く型付けされたモデルを使用して、ASP.NET MVCの複数のチェックボックス選択を処理する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート