2011-02-23 51 views
3

我想在我的mvc应用程序中声明一个Html.Radio按钮,并且想要输出数据属性。问题是c#确实喜欢“ - ”在MVC中定义html5数据属性

<%= Html.RadioButton("defaultRadioButton", d.Link, d.IsDefault, new { data-link = d.Link })%> 

有没有办法绕过这个,而不是自己输出html或创建一个帮手?

谢谢..

回答

11

如果这是ASP.NET MVC 3:

<%= Html.RadioButton(
    "defaultRadioButton", 
    d.Link, 
    d.IsDefault, 
    new { 
     data_link = d.Link 
    } 
)%> 

和下划线将被自动转换成由辅助破折号。

在MVC的以前版本中的丑陋的黑客可以[应用荷:

<%= Html.RadioButton(
    "defaultRadioButton", 
    d.Link, 
    d.IsDefault, 
    new Dictionary<string, object> { 
     { "data-link", d.Link } 
    } 
) %> 
+0

啊我想我看到了这样的地方。 Unfortunatley我们还没有搬到3。尽管我们可能很快就会这样做。 – 2011-02-23 11:58:27

+0

@mjmcloug,好的,然后看到丑陋的黑客。 – 2011-02-23 11:58:44

+0

该死的丑陋;) – 2011-02-23 12:03:00