我從幾個不同的消息來源得知,當在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