使用 Razor 生成 HTML5 中的 data- 屬性


在 HTML5 中, 可以使用 data- 屬性來表示用戶數據,這些數據甚至可以是 JSON 格式的數據,對 Web 前端開發帶來很大的方便。

在 MVC 的 Razor 中,可以使用匿名對象來生成定制的屬性,不過,這樣的屬性可不能通過 Razor  的語法檢查。

new{ data-id= 1 }

編譯器會直接報告錯誤。  The name 'data' does not exist in the current context   ,原因很簡單,把 - 號當作運算符了。
其實,HtmlHelper 提供的方法 AnonymousObjectToHtmlAttributes 已經可以解決這個問題,方法的說明如下所示。

Replaces underscore characters (_) with hyphens (-) in the specified HTML attributes.

我們可以在匿名對象中直接使用下划線 (_) 來代替減號 (-) ,HtmlHelper 會在呈現中,將下划線替換為減號的。

例如,下面的寫法

@Html.TextBox("username", "noname", new{ data_name="tom" })

會生成如下的 HTML5 標記。

<input data-name="tom" id="username" name="username" type="text" value="noname" />

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM