条件付きセクションsyntaxe with razor asp.net mvc3

私はかみそりビューエンジンには慣れていません。だから、私は構文に問題があります。

私は "_layout.cshtml"を持っています:

@if (IsSectionDefined("Slideshow"))
{
     @RenderSection("Slideshow");
}
else
{
     

blah blah blah

}

そして、 "default.cshtml"

@if(@ViewBag.Article == null)
{
    

blabla

} else { @section Slideshow {
  • slide here
} }

だから、ここに私の問題です: @ sectionの前に@を置くと、@ifステートメントを保持する必要はないというエラーが表示されます。

"Mot clé "section" inattendu après le caractère "@". Une fois à l'intérieur du code,
vous n'avez pas besoin de préfixer des constructions telles que "section" avec "@"."

@セクションの前に置かないと、2行後にエラー[行:29]があります(

  • ...) telling me a } is missing.

    CS1513: } attendue
    

    So, i guess it is possible to do but i don't know how to do it. Could you help me please.

    Thanks

  • 0

    2 答え

    これはコンパイルする必要があります:

    @if (IsSectionDefined("Slideshow"))
    {
         RenderSection("Slideshow");
    }
    else
    {
        @:

    blah blah blah

    } @if(ViewBag.Article == null) { @:

    blabla

    } else { section Slideshow { @:
    • slide here
    } }

    コンパイラが実際のコードを書くことを知らない場合にのみ、@を使ってC#ステートメントを開始する必要があります。

    プレーンテキストの先頭に@:を使用すると、コンパイラはプレーンテキストを認識します。

    Using tags to enclose text has the same effect. Every C# statement inside tag needs to start with a @

    0
    追加された

    あなたはこのようにすることができますが、

     @{
        if(ViewBag.Article == null)
    {
        

    blabla

    } else { section Slideshow {
    • slide here
    } } }
    0
    追加された