我在使用Razor语法中的this
关键字时遇到问题。
如果我写这样的话:
@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")
}
-OR -
@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
吗?