ASP.Net MVC - 逃脱角色?

时间:2013-05-10 17:19:04

标签: asp.net-mvc razor

我需要替换一个名为“data-valmsg-for”的属性。

Razor不喜欢我的属性名称包含单词“for”的事实。 任何解决方案我尝试将@放置在双引号内,但没有运气。

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

2 个答案:

答案 0 :(得分:4)

  

Razor不喜欢我的属性名称包含单词“for”

的事实

这不太正确。

这是 C#语法错误;属性名称不能有连字符。

相反,你应该写data_valmsg_for = "..." HTML帮助器方法会将下划线转换为连字符。

答案 1 :(得分:1)

一种解决方法是提供Dictionary<String,String>,但它并不漂亮:

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