当我使用此辅助方法创建链接时,数据属性在HTML代码中正确显示:
@Html.ActionLink("Test", "Index", null, new { data_something = "123" })
HTML是正确的:
<a data-something="123" href="/">Test</a>
当我使用ActionLink
方法的以下重载时(我使用T4MVC脚本,http://mvccontrib.codeplex.com/wikipage?title=T4MVC),数据属性包含下划线而不是短划线:
@Html.ActionLink("Test", MVC.Home.Index(), new { data_something = "123" })
HTML不正确:
<a data_something="123" href="/">Test</a>
这是一个知道错误还是一个功能?我搜索了bugtracker(http://aspnet.codeplex.com/workitem/list/basic),但未能找到相应的问题。
以下重载再次起作用,但我不喜欢一直创建Dictonaries:
@Html.ActionLink("Test", MVC.Home.Index(), new Dictionary<string, object> {
{ "data-something", "123" }
})
答案 0 :(得分:0)
用于数据属性@data_something="123"
,如
@Html.ActionLink("Test link",
MVC.Home.Index(),
new {controller="Home"}},new {@data_something="123"})
上面的代码应输出
<a href="/Home/Index/" data-something="123">Test Link></a>