在MVC中定义html5数据属性

mat*_*lin 3 asp.net-mvc html5

我正在尝试在我的mvc应用程序中声明一个Html.Radio按钮,并希望输出一个数据属性.问题是c#的确如" - "

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

除了自己输出html或创建帮助之外,还有其他方法可以解决这个问题吗?

谢谢..

Dar*_*rov 11

如果这是ASP.NET MVC 3:

<%= Html.RadioButton(
    "defaultRadioButton", 
    d.Link, 
    d.IsDefault, 
    new { 
        data_link = d.Link 
    }
)%>
Run Code Online (Sandbox Code Playgroud)

并且下划线将由助手自动转换为破折号.

在以前版本的MVC中,可以应用丑陋的黑客攻击:

<%= Html.RadioButton(
    "defaultRadioButton", 
    d.Link, 
    d.IsDefault, 
    new Dictionary<string, object> { 
        { "data-link", d.Link } 
    }
) %>
Run Code Online (Sandbox Code Playgroud)