Html.ActionLink与非C#友好的htmlAttribute名称

时间:2010-11-11 03:45:26

标签: c# asp.net-mvc

Disqus希望我在我的链接中添加一个名为data-disqus-identifier的属性,但由于显而易见的原因,new { @data-disqus-identifier = "article" }会给我一个语法错误。

知道在这些情况下该怎么办?

谢谢,

2 个答案:

答案 0 :(得分:4)

您可以使用任意字符串键传递Dictionary<string, object> 语法将更加详细:new Dictionary<string, object> { { "data-disqus-identifier", "article" } }

您可能希望在静态类上创建扩展方法或静态方法,使用较短的名称来获取较小的参数集并返回字典。

答案 1 :(得分:0)

在MVC 3中,如果在属性名称中使用下划线_而不是连字符-,则MVC会自动将它们转换为生成的HTML中的连字符。所以,这样的事情对你有用:

new { data_disqus_identifier = "article" }