我有一些js试图处理一个复选框值(假设没有在“main.js”中处理)
var doctor = _$form.serializeFormToObject();
var mdoMipsCheckbox = $("input[name='MdoMips']:checked");
doctor.MdoMips = mdoMipsCheckbox.val();
视图如下所示:
<input type="checkbox" name="MdoMips" value="@Model.Doctor.MdoMips" class="filled-in" id="doctor-mdomips" @(Model.Doctor.MdoMips ? "true" : "") />
Dto和Entity的模型都具有以下属性:
[Column("MDO_MIPS")]
[DisplayName("MDO MIPS")]
public bool MdoMips { get; set; }
我的问题是我的序列化对象如下:
BirthDate:"25-Dec-1962"
FirstName:"Philip"
Id:"4"
LastName:"Fergus"
MdoMips:**"on"**
MdoOther:"rrr"
Title:"Mr"
未通过验证。
我不确定解决此问题的最佳方法是什么,以便在序列化布尔属性上看到“true”或“false”值。
任何帮助表示赞赏...
答案 0 :(得分:0)
public bool MdoMips
更改为public byte MdoMips
。@(Model.Doctor.MdoMips ? "true" : "")
,不是
需要Angular做双向绑定。答案 1 :(得分:0)
如何使用它:
doctor.MdoMips = mdoMipsCheckbox.is(":checked") ? "true" : "false";