加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-15 23:41:31 所属栏目:asp.Net 来源:网络整理
导读:我最近将我的网站从ASP.NET MVC3(Razor)升级到MVC4(Razor2),并且在这样做时,发现在剃刀视图引擎中看起来像是一个突破性的变化. 场景(大大简化)如下所示. @model IEnumerablestring@{ Layout = null; }!DOCTYPE htmlhtml body div @foreach (var x in Model)
我最近将我的网站从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)
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读