1

私がこれを持っているとき:

@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");

しかし、以下に示すように、コードを 2 つの個別の C# ブロックに分割すると、問題なく動作します。なんで?

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

1 に答える 1

2

Url.Contentで@を使用しないでください。これは、すでにコードブロック内にあります。

私が起こっていると思うのは、かみそりが最後の@とセミコロンによって混乱しているため、HTMLに閉じ括弧が配置されていることです。

于 2012-10-14T21:04:21.583 に答える