我从几个不同的消息来源得知,当在ASP.NET MVC2中使用HTML助手时,可以使用破折号创建自定义属性(例如,<数据 - rowId =“5”>)通过使用下划线代替破折号,并且当HTML写入页面时,下划线将被破折号替换。ASP.NET MVC2不会用HtmlAttributes中的破折号代替下划线
所以,这样的事情:
<%= HtmlActionLink(Model.Name, "MyView", null, new {data_rowId = Model.id}) %>
应该呈现为
<a data-rowId="0" href="myURL">Row Name</a>
但是......事实并非如此。我想也许这个功能只能在MVC3 Beta预览版中启用(如MVC3预览版发布说明中提到的那样),但this thread与此基本相同,而且与MVC2有关。
我知道我可以使用该线程中提供的其他解决方案,但我宁愿不必诉诸使用字典,如果存在更优雅的解决方案。
任何人都知道是否有简单的事情我可以做到让这个特定的事情工作?
Data-属性对HTML 5有效。http://dev.w3.org/html5/spec/elements.html#embedding-custom-non-visible-data – 2010-11-20 20:33:33
@Erik Philips,HTML5仍然是草稿并没有得到所有浏览器的支持,但好点。 – 2010-11-20 20:35:25
我希望这不是答案,但无法找到更好的方法。我以为我看到某个地方的下划线被提升为破折号......哦! – Jafin 2011-07-27 06:32:32