0

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

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

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

2 回答 2

4

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

这并不完全正确。

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

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

于 2013-05-10T17:20:38.537 回答
1

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

@Html.ValidationMessage("Quantity", new Dictionary<String,String>() { "data-valmsg-for", "Quantity" + Model.Id})
于 2013-05-10T17:22:12.790 回答