asp.net-mvc-3 – 可以用“@:@”修复的MVC4剃刀的可能的突变

前端之家收集整理的这篇文章主要介绍了asp.net-mvc-3 – 可以用“@:@”修复的MVC4剃刀的可能的突变前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我最近将我的网站从ASP.NET MVC3(Razor)升级到MVC4(Razor2),并且在这样做时,发现在剃刀视图引擎中看起来像是一个突破性的变化.

场景(大大简化)如下所示.

@model IEnumerable<string>

@{ Layout = null; }

<!DOCTYPE html>

<html>
    <body>
        <div>
              @foreach (var x in Model)
              {
                  @string.Format("Foo bar: {0}",x) // Errors in MVC4/Razor2
              }
        </div>
    </body>
</html>

这在MVC3 / Razor中工作正常,但是在MVC4 / Razor2的string.Format行中导致错误

Unexpected “string” keyword after “@” character. Once inside code,you do not need to prefix constructs like “string” with “@”.

如果您删除@,视图引擎然后要求您终止字符串.格式线与分号.然而,ReSharper然后警告(正确地):

Return value of pure method is not used.

我发现这两个修补程序要么使用< text&gt ;::

<text>@string.Format("The value {0}",x)</text>

或者更好奇的方法是使用@:@:

@:@string.Format("The value {0}",x)

这是Razor视图引擎中的已知和记录的变化吗?

解决方法

似乎像一个bug.它适用于String:
@foreach (var x in Model)
{
    @String.Format("Foo bar: {0}",x)
}
原文链接:https://www.f2er.com/aspnet/250729.html

猜你在找的asp.Net相关文章