加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何将复选框绑定到asp net mvc中的字符串属性

发布时间:2020-12-16 06:29:57 所属栏目:asp.Net 来源:网络整理
导读:我在我的课程中有一些代表真或假的字段,但它有字符串值“T”或“F”. 如何将复选框绑定到这些字段? 解决方法 你可以在ASP.Net MVC Razor中做到这一点 input type="checkbox" name="someName" value="@Model.SomeValue" @(Model.IsChecked == "T" ? "checked
我在我的课程中有一些代表真或假的字段,但它有字符串值“T”或“F”.

如何将复选框绑定到这些字段?

解决方法

你可以在ASP.Net MVC Razor中做到这一点

<input type="checkbox" name="someName" value="@Model.SomeValue" 
@(Model.IsChecked == "T" ? "checked='checked'" : "") />

但是,这可能不是您要查找的内容,因为您必须在服务器上进行一些手动操作才能找出“未选中”的值.

默认情况下,只有您选中的值才会发送到服务器.

更新:

Html.CheckBox和Html.CheckBoxFor辅助方法都发出隐藏字段,以确保一切正确绑定回您的模型.你可以很容易地模仿这种行为.

首先,您需要发出一个隐藏字段,该字段将绑定到服务器上的模型.

@Html.HiddenFor(model => model.StringBool,new { id = "_stringBool" })

接下来,您将创建一个简单的jane复选框并设置初始状态以反映您的模型.

<input type="checkbox" id="myCheckBox" @(Model.StringBool == "T" ? "checked='checked'" : "") />

此复选框的唯一目的是将值与隐藏字段进行代理,以便您的模型自动绑定到服务器上.这可以通过一些简单的jQuery来实现.

$("#myCheckBox").click(function () {
   var isChecked = $(this).is(":checked");

   $("#_stringBool").val(isChecked ? "T" : "F");
});

现在,选中并取消选中该框将相应地设置绑定隐藏字段的值.当您发布到服务器时,您的值将通过模型绑定保留.

有些事情需要注意

这不考虑验证.更改隐藏字段的值非常容易,因此请确保在服务器端正确验证!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读