2

mt view のチェックボックスをデフォルトでチェックしたいので、こんな感じにしてみました。

@Html.CheckBoxFor(model=>model.GenericsOK, new { id = ViewBag.GenericsOK, @checked = true })

そしてまた

@Html.CheckBoxFor(model=>model.GenericsOK, new { id = ViewBag.GenericsOK, @checked = "checked"})

どちらの場合も、以下のエラーが発生します。 文字列は有効なブール値として認識されませんでした。

私の財産はこのように定義されています。

private bool _deafaultchecked = true;

    [Display(Name = "Generics Ok")]
    public bool GenericsOK
    {
        get { return _deafaultchecked; }
        set { _deafaultchecked = value; }
    }

何か提案はありますか?



私は解決策またはこれを見つけることができなかったので。私はこれをこのようにしました。

 @Html.CheckBox("GenericsOK", true, new {id=ViewBag.GenericsOK, name="GenericsOK" })

これは私の要件で機能します。私を助けてくれたすべての人に感謝します。

4

4 に答える 4

1

あなたのコントローラーの Create メソッド (私は推測します) で、これを試しましたか?

public ActionResult Create()
{
    return View(new YourModelClass { GenericsOk = true });
}
于 2012-06-13T10:35:05.943 に答える
1

モデルを作成するコントローラ アクションで、そのフィールド値を true に設定するだけです。

例えば

return View(new DriverCsvModel{SendEmails = true});

UI を強制的にチェック状態にするのではなく、モデルの状態を使用する必要があります。

于 2013-06-03T15:28:41.060 に答える
0

HTML 属性の @checked="checked" 部分を削除する必要があります。viewmodel プロパティがブール値の場合、CheckBoxFor を使用する場合は不要です。

于 2011-10-19T20:26:37.157 に答える
0

モデル クラスの既定のコンストラクターで、"GenericsOK" プロパティを "True" に設定できます。

于 2011-10-19T20:09:15.027 に答える