this
我在 Razor 语法中使用关键字时遇到问题。
如果我写这样的东西:
@foreach (var item in this.Model.Items)
{
@this.Html.ActionLink(item.Title, "MyAction")
}
我会收到一个错误:Unexpected "this" keyword after "@" character. Once inside code, you do not need to prefix constructs like "this" with "@".
我有两个解决方案;
1) 使用@:@
或<text>
@foreach (var item in this.Model.Items)
{
@:@this.Html.ActionLink(item.Title, "MyAction")
}
-或者-
@foreach (var item in this.Model.Items)
{
<text>
@this.Html.ActionLink(item.Title, "MyAction")
</text>
}
2) 去掉this
前缀
@foreach (var item in this.Model.Items)
{
@Html.ActionLink(item.Title, "MyAction")
}
正如您可能猜到的那样,我们正在遵循 StyleCop 规则,并且我们也喜欢使用 Razor 语法。
有没有其他方法可以防止使用<text>
或@:@
在我们使用this
关键字时使用?