@this.Html.CheckBoxFor(m => m.MyModel.MyBoolProperty, new { @class="myCheckBox", extraAttr="23521"})

使用razor,我无法为数据指定值——比如data-externalid="23521"

有没有办法用@this.Html.CheckBoxFor(...)来做到这一点?

推荐答案

@Html.CheckBoxFor(
    m => m.MyModel.MyBoolProperty, 
    new { 
        @class = "myCheckBox", 
        data_externalid = "23521"
    }
)

在生成的标记中,_将自动转换为-:

<input type="checkbox" name="MyModel.MyBoolProperty" data-externalid="23521" class="myCheckBox" />

所有使用htmlAttributes匿名对象作为参数的HTML帮助器都是如此,而不仅仅是CheckBoxFor帮助器.

.net相关问答推荐

实体框架核心:Azure容器应用程序的执行超时已过期

为什么 ULong > 16 位的数学会变得不稳定?

为什么 .NET 内部 Hashtable 中有一个 Thread.Sleep(1)?

编译时禁用 Dll 文化文件夹

如何摆脱 VS2008 中的目标程序集不包含服务类型错误消息?

防止对话框在按钮的单击事件处理程序中关闭

我应该默认推荐密封类吗?

OpenCV的.Net(dotNet)包装器?

IEnumerable Count() 和 Length 的区别

新的 netstandardapp 和 netcoreapp TFM 有什么区别?

参数命名:文件名还是文件名?

公钥令牌的作用是什么?

如何使用配置转换删除 ConnectionString

解密 .NET clr20r3 异常参数 P1..P10

Iif 在 C# 中等效

等待 Async Void 方法调用以进行单元测试

读取 XML(从字符串)并获取一些字段 - 读取 XML 时出现问题

如何在 C# 中使用迭代器反向读取文本文件

C# 应用程序中的资源和嵌入式资源有什么区别?

判断数据表中是否包含空值的最佳方法