2017-04-20 65 views
2
在剃刀代碼中使用HtmlHelpers的時候,像這樣

C#HtmlHelpers如何逃生/屬性名保留下劃線

new { data-something_something = "value" } 

的下劃線轉換「神奇」來連字符。但是如果我需要我的屬性來包含下劃線和連字符呢?我如何逃避或保留下劃線?

+2

[「它知道你想有一個連字符,而不是下劃線作爲底線不是有效的HTML屬性的名稱。」(http://stackoverflow.com/a/12091886/11683) – GSerg

+0

甚至下劃線在html屬性名稱中是否有效? –

回答

2

你可以傳遞一個IDictinoary<string, string>代替:

@Html.TextBoxFor(x => x.Prop, new Dictionary<string, string> { { "data-something_something", "value" } }) 

請注意,屬性的名稱,如some_attr被認爲是無效的HTML,但在你的情況data-*屬性can確實包含下劃線。

MSDN