Asp.net mvc Net MVC-转义字符?

Asp.net mvc Net MVC-转义字符?,asp.net-mvc,razor,Asp.net Mvc,Razor,我需要替换名为“data valmsg for”的属性 Razor不喜欢我的属性名包含单词“for”。 有什么解决办法吗?我试着把@放在双引号里,但是运气不好 @Html.ValidationMessage("Quantity", new {data-valmsg-for = "Quantity" + Model.Id}) Razor不喜欢我的属性名包含单词“for” 不完全是这样 这是一个C#语法错误;属性名称不能有连字符 相反,您应该为=“…” HTML助手方法将下划线转换为连字符 Raz

我需要替换名为“data valmsg for”的属性

Razor不喜欢我的属性名包含单词“for”。 有什么解决办法吗?我试着把@放在双引号里,但是运气不好

@Html.ValidationMessage("Quantity", new {data-valmsg-for = "Quantity" + Model.Id})
Razor不喜欢我的属性名包含单词“for”

不完全是这样

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

相反,您应该为=“…”
HTML助手方法将下划线转换为连字符

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

不完全是这样

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

相反,您应该为=“…”

HTML帮助程序方法将下划线转换为连字符。

一个解决方法是提供一个
字典,尽管它并不漂亮:

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

一个解决办法是提供一个
字典,尽管它并不漂亮:

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

如果您想在属性名中使用下划线怎么办?@Dai:那么您就不能使用这些帮助器方法。(尽管您可以传递字典。+1 HTML帮助程序方法将下划线转换为连字符。如果您想在属性名称中使用下划线,该怎么办?@Dai:那么您不能使用这些帮助程序方法。(尽管您可以传递字典。+1 HTML帮助程序方法将下划线转换为连字符。)。