ASP.NET MVC 5 でのラジオ ボタンのグループ化
問題:
ASP.NET MVC 5 ビューでは、ラジオ ボタンのグループは質問ごとにグループ化されることが想定されていますが、それらはすべて 1 つのグループに配置されます。 1 つの質問のラジオ ボタンが選択されると、他の質問のラジオ ボタンの選択が解除されます。
原因:
この課題は、ラジオ ボタンとラジオ ボタンの不適切なバインドから発生します。重複する名前属性の生成。 name 属性はラジオ ボタン グループごとに (つまり、質問ごとに) 一意である必要があります。
解決策:
目的のグループ化を実現するには、次の手順が必要です。 :
-
ビュー モデルの作成:ビュー内に表示およびバインドされているデータと位置を合わせます。この場合、質問とその考えられる答えを表すビュー モデルの使用を検討してください。
-
ビューを変更します: これらのビュー モデルを利用し、ラジオ ボタンを正しく生成するようにビューを調整します。ループ (または EditorTemplate) を利用して、質問ごとに一意の名前属性を持つラジオ ボタンを動的に作成します。
代替アプローチ:
グループ化に対する別の包括的なアプローチを次に示します。ラジオ ボタン:
-
コントローラー: ビュー モデルに質問と回答の情報を設定するメソッドをコントローラーに追加します。
-
ビュー モデルの作成: 質問とその潜在的な回答を表すビュー モデルを設計します。プロパティを使用して、選択した回答を保存します。
-
ビューを更新します: ビューで、ループとHtml.RadioButtonFor メソッドを使用して、適切にグループ化されたラジオ ボタンを作成します。選択した回答の View Model のプロパティを含めて、選択した値をバインドします。
-
コントローラーを変更します: コントローラーのポスト アクション メソッドにコードを追加して、View Model から選択した回答の値を取得します。
これらの提案を採用すると、ラジオ ボタンを効果的にグループ化でき、適切なデータ バインディングと正しいフォーム送信が可能になります。 ASP.NET MVC 5 プロジェクト。
以上がASP.NET MVC 5 ビューでラジオ ボタンを正しくグループ化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。