当我有这个:
@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>();
}
答案 0 :(得分:2)
你不应该在Url.Content上使用@,它已经在代码块中了。
我认为正在发生的事情是剃刀最后被@和分号混淆了,因此将紧密括号放入HTML中。