2

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关键字时使用?

4

0 回答 0