是否有另一种更“正确”的方法可以将复选框的值转换为bool。
我的cshtml代码:
@{
Page.Title = "";
Layout = "~/_Layout.cshtml";
bool checked = false;
if(isPost)
{
if(Request["chkbx"] == "on")
{
checked = true;
}
}
}
<div>
<input type="checkbox" name="chkbx" />
</div>
答案 0 :(得分:3)
在ASP.NET MVC中,一般来说Razor视图不应该像Request
那样混淆。
Controller
由ViewModel
创建Request
对象(最好使用ModelBinding
),然后将创建的对象传递给View
。
然而,如果您不愿意将课程改为ViewModel
路径:
您可以使用内置的HTML Helper for Razor:
@Html.CheckBox("chkbx", checked)
或者,如果您希望手动编写HTML元素,则可能看起来更干净:
<input type="checkbox" name="chkbx" @(checked ? "checked" : "") />