我需要替换一个名为“data-valmsg-for”的属性。
Razor不喜欢我的属性名称包含单词“for”的事实。 任何解决方案我尝试将@放置在双引号内,但没有运气。
@Html.ValidationMessage("Quantity", new {data-valmsg-for = "Quantity" + Model.Id})
答案 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})