问题在ASP.NET MVC中设置包含连字符的html属性
我已经定义了一个自定义html属性“data-something-something”。在我看来,我使用Html扩展方法来创建一个文本框。其中一个参数是匿名object HtmlAttributes
。我想通过这个值:new { data-something-something = "value" }
。但是,data-something-something
由于连字符不能被.NET识别为属性名称。问题在ASP.NET MVC中设置包含连字符的html属性
现在我已将其更改为dataSomethingSomething
,但我想根据HTML 5标准定义我的自定义属性(即以'data-'为前缀)。
在尝试对类属性执行new { class = "class-name"}
之前,我有类似的问题。对于这种情况,我发现我可以用'@'符号加class
作为前缀(即new { @class = "class-name"}
)。因为这个场景有一个解决方案,所以我希望我的当前问题可能有一个解决方案(前缀为'@'不起作用)。
在此先感谢。
尝试使用应该由标准的HTML佣工被自动转换成破折号下划线:
new { data_something_something = "value" }
How to use dashes in HTML-5 data-* attributes in ASP.NET MVC < - 你将在这里找到你的答案
嗯,你也许我的问题归类为重复。我搜查了但找不到那一个。我发现所有关于在HTML/CSS中使用' - ','_'或骆驼案例的讨论。我不觉得Dictionary
Neato!我希望有这样的事情。 – 2011-02-28 08:33:38
@Matthijs Wessels,你使用的是一个自定义HTML助手吗?如果是,请显示你的帮手代码和用法。这绝对适用于内置的帮助程序。试试看:'@ Html.TextBoxFor(x => x.Foo,new {data_something_something =“value”})'。 – 2011-02-28 09:53:52
我只使用内置的帮助程序。已经尝试过它,它工作:) – 2011-02-28 13:01:08