Razor视图中的奇怪错误,在Orchard CMS中

时间:2012-10-14 20:53:16

标签: asp.net-mvc asp.net-mvc-4 orchardcms

当我有这个:

@using Orchard.Themes.Models
@using Orchard.Themes.Preview
@using Orchard.Themes.Services
@using Orchard.Themes.ViewModels
@{
    Script.Require("OrchardTinyMceDeluxe");
    var pluginsBaseUrl = @Url.Content("~/modules/tinymcedeluxe/scripts/plugins");
    var siteThemeService = WorkContext.Resolve<ISiteThemeService>();
}

我收到此错误:

  

分析程序错误消息:代码块缺少结束“}”字符。确保此块中的所有“{”字符都有匹配的“}”字符,并且没有任何“}”字符被解释为标记。

Line 4:  @using Orchard.Themes.Services
Line 5:  @using Orchard.Themes.ViewModels
Line 6:  @{
Line 7:      Script.Require("OrchardTinyMceDeluxe");
Line 8:      var pluginsBaseUrl = @Url.Content("~/modules/tinymcedeluxe/scripts/plugins");

但是,如果我将代码分成两个独立的C#块,如下所示,它可以正常工作。为什么?

@{
    Script.Require("OrchardTinyMceDeluxe");
    var pluginsBaseUrl = @Url.Content("~/modules/tinymcedeluxe/scripts/plugins");
}
@{
    var siteThemeService = WorkContext.Resolve<ISiteThemeService>();
}

1 个答案:

答案 0 :(得分:2)

你不应该在Url.Content上使用@,它已经在代码块中了。

我认为正在发生的事情是剃刀最后被@和分号混淆了,因此将紧密括号放入HTML中。