在 MVC 3 中选中复选框的值不为真
Value for checkbox is not true when checked in MVC 3
>我有一个非常奇怪的情况,我将复选框中的值发布到我的控制器,即使选中也是如此!
我的部分观点模型:
public class BeslutIStortViewDTO
{
public BeslutIStortDTO BeslutIStort { get; set; }
public BeslutIStortListorDTO SelectListor { get; set; }
}
public class BeslutIStortDTO
{
public int id { get; set; }
public bool Ok { get; set; }
... other stuff
}
我的部分观点:
<div id="colOk" class="kolumn_header">
@Html.LabelFor(model => model.BeslutIStort.Ok)
@Html.CheckBoxFor(model => model.BeslutIStort.Ok, new { @class = "rensa", tabindex = 5 })
</div>
在传递给控制器的字符串中,当未选中该框时,一切似乎都正常:
BeslutIStort.Ok=false
但!当我检查它时:
BeslutIStort.Ok=&BeslutIStort.Ok=false
它在字符串中的两次,第一个没有值,oterh 是false
的,所以两者都是错误的。我当然只期望一个,而且那个是true
.
另一个有趣的发现是,在精确呈现的html中,复选框如下所示:
<input class="rensa" id="BeslutIStort_Ok" name="BeslutIStort.Ok" tabindex="5" type="checkbox" value="true" /><input name="BeslutIStort.Ok" type="hidden" value="false" />
它有一个隐藏的领域!
当我将值发布到服务器时,我使用 ajax 执行此操作,并且 data 参数定义如下:
data: $("#BisData").serialize(),
我希望有人能帮助我对此有所了解,并帮助我对我的控制器进行一些"真实":-(
=== S O L V E D ===随着结果的发展,我有这样的javascript:
$(".rensa"(.val("(;
这使得复选框不起作用。我添加了这个:
$(".rensaCheckbox"(.attr("checked", false(;
对于复选框,所以现在它可以工作了。
它也很奇怪。
首先,您收到了两次值BeslutIStort.Ok=&BeslutIStort.Ok=false
因为当您使用@Html.CheckboxFor()
时,Razor 引擎会自动在表单中放置具有相同名称和值 false 的隐藏字段这样做是为了即使未选中该复选框,也会返回false
值。
第二。。。您正在接收空值,因为您的输入(复选框(HTML 控件上没有值。如果您希望返回一个值,只需使用以下代码
添加一个值
<div id="colOk" class="kolumn_header">
@Html.LabelFor(model => model.BeslutIStort.Ok)
@Html.CheckBoxFor(model => model.BeslutIStort.Ok, new { @class = "rensa", tabindex = 5,value="true" })
</div>
相关文章:
- ASP MVC复选框表单提交问题
- 我无法将 MVC 复选框设置为在 jquery 中选中
- 在ASP.NET MVC 4中显示密码复选框
- 根据MVC列表框和复选框的值更改标记元素
- 如何在 JQUERY 中订阅 MVC 复选框更改事件
- 如何使用 Web 表单(不是 MVC 或 asmx 页面)从 ajax Http POST 获取 c# 服务器端的复选框
- 如何查找选中的复选框并将其传递给 MVC 中的操作结果
- 如何在 MVC 应用程序中单击标签时选中所有复选框
- 如何使用 mvc 控制客户端上的复选框值
- 在 MVC 3 中选中复选框的值不为真
- 如何在 MVC-4 中的编辑模式弹出窗口中获取复选框
- 将 mvc 剃须刀复选框链接到剃须刀文本框
- 无法在 Telerik MVC 中触发复选框更改事件
- ASP MVC:选中复选框值并选中复选框时获取隐藏的输入总和
- MVC 3:如何在选择下拉列表项时更新复选框列表
- 选中复选框时,表中的MVC Razor视图文本不会更新
- 如何在asp.net mvc中从多个分页页面中获取所有选中的复选框
- 基于mvc模型设置html复选框复选值
- MVC中有两个复选框,但每次只允许一个复选框
- MVC 3复选框验证