0

チェックボックスの値をブール値に変換するための、より「正しい」代替方法はありますか。

私のcshtmlコード:

@{
    Page.Title = "";
    Layout = "~/_Layout.cshtml";

    bool checked = false;

    if(isPost)
    {
        if(Request["chkbx"] == "on")
        {
            checked = true;
        }
    }
}

<div>
    <input type="checkbox" name="chkbx" />
</div>
4

1 に答える 1

3

ASP.NET MVC Razorビューでは、一般に、のようなものを台無しにすることは想定されていませんRequest

(できればを使用して)からオブジェクトControllerを作成し、作成したオブジェクトをに渡すのは、までです。ViewModelRequestModelBindingView

それでも、進路を変更することに抵抗がある場合は、次のようにしますViewModel

Razor用の組み込みのHTMLヘルパーを使用できます。 @Html.CheckBox("chkbx", checked)

または、HTML要素を手動でコーディングする場合は、次のようにわかりやすくなります。 <input type="checkbox" name="chkbx" @(checked ? "checked" : "") />

于 2013-03-05T14:57:25.977 に答える