0

8 つの異なるラジオ ボタン グループ (「はい/いいえ」ボタンのグループ) を含むページがあります。もともと、「いいえ」ボタンをチェックしてレンダリングするようにhtmlをコーディングしていましたが、今はボタンを選択せず​​にレンダリングする必要があります。

「チェック済み = チェック済み」を削除して更新しましたが、[いいえ] ボタンがまだ選択されていました。再度更新し、キャッシュをクリアし、別のブラウザーで実行しましたが、役に立ちませんでした。考えられる原因を特定するための支援を探しています。

私のMVCコード:

@Html.RadioButtonFor(m => m.IsFelon, true, new { @class = "commentBox RadioIf" })
    <label for="PersonModel_Felon">Yes</label>
@Html.RadioButtonFor(m => m.IsFelon, false, new { @class = "commentBox" })
    <label for="PersonModel_Felon">No</label>

レンダリング方法:

<input class="commentBox" data-val="true" data-val-required="The ChildAbusePast field is required." id="ChildAbusePast" name="ChildAbusePast" type="radio" value="True" />
   <label for="HistoryModel_ChildAbusePast">Yes</Label>
<input checked="checked" class="commentBox" id="ChildAbusePast" name="ChildAbusePast" type="radio" value="False" />
   <label for="HistoryModel_ChildAbusePast">No</Label>

これに触れる他の唯一のものは、いくつかのjqueryです:

$(document).ready(function () {
        $("input.commentBox").click(function () {
            if ($(this).closest('div.editor-field2').children('input:checked').val() == "True") {
               $(this).closest('div.formQuestion').children('div.hidden').slideDown(800);
          } else {
               $(this).closest('div.formQuestion').children('div.hidden').slideUp("fast");
         }
        });
    });
4

2 に答える 2

1

IsFelonを初期化していない場合、デフォルトでは、ブール型のオブジェクトの性質である「False」に設定されます。

一方、デフォルトでラジオの選択を解除したい場合は、boolを使用するべきではなく、「bool?」を使用することをお勧めします。これにより、デフォルト値が「null」に設定されるため、どの無線も選択されません。

于 2012-12-04T00:58:53.333 に答える
0

モデルのIsFelonプロパティに値はありますか? それが標準のブール値である場合、そうなります。したがって、そのプロパティを値が False のラジオ ボタンにマップすると、MVC はそれらが一致することを認識し、ボタンを に設定しますchecked

私が考えることができる最も簡単な解決策は、これらのラジオ ボタンをモデル プロパティにマップするのではなく、それらの値を取得し、ポストバック時にコントローラーでプログラムによってモデル プロパティを設定することです。null 許容プロパティの作成を検討することもできますがIsFelon、MVC で null 許容プロパティを使用するには、多少の調整が必要になる場合があります。

于 2012-12-03T23:23:05.533 に答える