2013-05-10 43 views
0

我需要替換名爲「data-valmsg-for」的屬性。ASP.Net MVC - 轉義字符?

剃刀不喜歡我的屬性名稱中包含單詞「for」的事實。 任何解決方案?我嘗試將@放置在雙引號內,但沒有運氣。

@Html.ValidationMessage("Quantity", new {data-valmsg-for = "Quantity" + Model.Id}) 

回答

4

剃刀不喜歡我的屬性名稱包含「爲」

字這並不完全正確的事實。

這是一個C#語法錯誤;屬性名稱不能有連字符。您應該寫data_valmsg_for = "..."
HTML助手方法會將下劃線轉換爲連字符。

+0

如果你想在屬性名稱中使用下劃線? – Dai 2013-05-10 17:22:51

+0

@Dai:那麼你不能使用這些輔助方法。 (儘管您可以傳遞字典 – SLaks 2013-05-10 17:27:59

+0

+1 HTML助手方法會將下劃線轉換爲連字符。 – 2013-05-10 17:36:45

1

一個解決辦法是提供一個Dictionary<String,String>,雖然它不漂亮:

@Html.ValidationMessage("Quantity", new Dictionary<String,String>() { "data-valmsg-for", "Quantity" + Model.Id})