Asp.net mvc 4 设置由@html.checkboxfor创建的隐藏输入类

Asp.net mvc 4 设置由@html.checkboxfor创建的隐藏输入类,asp.net-mvc-4,razor,checkboxfor,Asp.net Mvc 4,Razor,Checkboxfor,我在一个视图中动态添加/删除表中的复选框。在我看来,我正在使用mvc4剃须刀引擎。使用synatx@Html.CheckboxFor(m=>m.xyz)razor创建两个输入字段。一个带有类型复选框,另一个带有类型隐藏。如果我用@Html.CheckboxFor(m=>m.xyz,new{@class=“CheckboxClass})给复选框一个类只给输入字段键入checkbox就可以得到这个类。有没有一种简单的方法把这个类同时给两个输入字段?如果你真的不想让事情保持原样,那么你有两个选择 自

我在一个视图中动态添加/删除表中的复选框。在我看来,我正在使用mvc4剃须刀引擎。使用synatx
@Html.CheckboxFor(m=>m.xyz)
razor创建两个输入字段。一个带有类型
复选框
,另一个带有类型
隐藏
。如果我用
@Html.CheckboxFor(m=>m.xyz,new{@class=“CheckboxClass})给复选框一个类
只给输入字段键入
checkbox
就可以得到这个类。有没有一种简单的方法把这个类同时给两个输入字段?

如果你真的不想让事情保持原样,那么你有两个选择

  • 自己创建输入字段..毕竟你是在一个HTML文件中工作
  • 编写一些javascript来处理它:
$('.chkClass')。每个(即){

$('INPUT[name='+e.name+'type=hidden]')。remove();


});//未经测试,现在已经很晚了。

你到底为什么要这样做?CSS用于样式设计。隐藏的输入没有可视组件,因此CSS无法操作。我需要模型的输入值。所有复选框都是列表的一部分,如果我删除复选框,我需要为所有c提供一个新的
名称选中复选框以确保模型的纹理。最简单的方法是使用相同的
类修改所有输入字段。您的复选框已经有了该类。隐藏字段是为了确保返回一个值。因此,让它完成它的工作。如果您删除一个复选框客户端,您将返回服务器端的默认值。没有大的错误如果我的模型中有一个列表,mvc将使用用于回发的字段的名称。例如列表[0]索引0上具有属性ID的对象的.ID。因此,如果来自同一元素,则发送到服务器的每个输入字段都必须获得相同的索引。如果删除索引为4的示例元素,则必须将所有更高的索引设置为-1。对于复选框btw,它会将隐藏的输入发送到服务器。