【发布时间】:2012-02-05 05:17:20
【问题描述】:
我有一个由视图模型支持的 Razor 局部视图,其中包含一个名为 UseDuo 的布尔值。假设 UseDuo 属性为 true,我将以下代码放入我的 Razor:
@Html.CheckBox("UseDuo", Model.UseDuo) @* Not checked *@
@Html.CheckBoxFor(m => m.UseDuo) @* Not checked *@
@Html.CheckBox("UseDuo2", Model.UseDuo) @* checked *@
@(Model.UseDuo ? "UseDuo=true" : "UseDuo=false") @* outputs UseDuo=true *@
前两个复选框未选中,但第三个已选中,最后一行输出为“UseDuo=true”。是什么赋予了?根据我对这些 Html 助手的理解,三个复选框都应该被选中。但似乎如果我的复选框的名称与我的模型属性的名称匹配,则拒绝正确检查。
我尝试对 .Net MVC 源进行调试,但调试器拒绝为我提供涉及的大多数变量的值,因此没有太大帮助。
编辑:刚刚意识到这里没有实际问题。我的问题:为什么不选中前两个框?
【问题讨论】:
-
这发生在 POST 中,还是总是发生?
-
不确定我是否理解这个问题。正在使用 GET 获取包含此 Razor 的页面。