使用EditorTemplate将字节显示为复选框?我的模型类:publicclassStatusList{publicintStatusID{get;set;}[UIHint("ByteCheckbox")]publicbyteActive{get;set;}}在/Views/Shared/EditorTemplates我创建了一个名为Thefileeditortemplate的类对于ByteCheckbox.cshtmlByteCheckbox包含(我的第三次尝试):@modelbyte@if(Model==1){@Html.CheckBox("",true)}else{@Html.CheckBox("",false)}这样做很好地呈现一个复选框。当我更改复选框状态并尝试保存更改时,模型验证抱怨值是“假”(或“真”)而不是预期的0或1。如何修改编辑器模板以允许转换值?你有没有试过这个@Html.LabelFor(model=>model.Active)@Html.CheckBoxFor(model=>model.Active!=0)@Html.ValidationMessageFor(model=>model.Active)你可以在你的模型中这样做:publicclassStatusList{publicintStatusID{get;set;}publicbyteActive{get;set;}[NotMapped]publicboolActiveBool{get{returnActive>0;}设置{活动=值?1:0;}}}不要使用Html.CheckBox;请改用Html.EditorFor。您需要在Views/Shared/EditorTemplates中定义一个名为ByteCheckbox.cshtml的文件才能工作。您还可以使用自定义模型活页夹。这是十进制的示例,但您可以对字节类型执行此操作。publicclassDecimalModelBinder:DefaultModelBinder{publicoverrideobjectBindModel(ControllerContextcontrollerContext,ModelBindingContextbindingContext){动态valueProviderResult=bindingContext.ValueProvider.GetValue(bindingContext.ModelName);if(valueProviderResult==null){llreturnbindingContext;context,Model(}return((string)valueProviderResult.AttemptedValue).TryCDec();}}试试这个以上是C#学习教程:使用EditorTemplate显示字节作为校验boxes?如果分享的内容对你有用,需要了解更多C#学习教程,希望你多多关注——@modelbool@Html.CheckBox("",Model,new{@class="tickbox-单行"})本文收集自网络,不代表立场,如涉及侵权,请点击右下角联系管理员删除。如需转载,请注明出处:
