在ASP.NET MVC中设置包含连字符的html属性时出现问题

我已经定义了一个自定义的html属性“data-something-something”。 在我看来,我使用Html扩展方法来创建一个文本框。 其中一个参数是匿名object HtmlAttributes 。 我想传递这个值: new { data-something-something = "value" } 。 但是,由于连字符,.NET无法将data-something-something内容识别为属性名称。

我现在把它改为dataSomethingSomething ,但是我想根据HTML 5标准定义我的自定义属性(即用’data-‘作为前缀)。

在尝试在类属性上执行new { class = "class-name"}之前,我遇到了类似的问题。 对于这种情况,我发现我可以在class new { @class = "class-name"}添加一个’@’符号来使它工作(即new { @class = "class-name"} )。 因为有这种情况的解决方案,我希望可能有一个解决我当前问题的方法(前缀为’@’不起作用)。

提前致谢。

尝试使用标记HTML帮助程序应自动转换为破折号的下划线:

 new { data_something_something = "value" } 

如何在ASP.NET MVC中的HTML-5 data- *属性中使用破折号 < - 您将在此处找到答案