带razor asp.net mvc3的条件节语法

带razor asp.net mvc3的条件节语法,asp.net,asp.net-mvc,asp.net-mvc-3,razor,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Razor,我对razor视图引擎不是很熟悉。所以,我对语法有个问题 我有“_layout.cshtml”: 如果我不让@before部分,我会在(..)告诉我a}丢失后出现错误[line:29]2行 CS1513: } attendue 所以,我想这是可能的,但我不知道怎么做。你能帮帮我吗 谢谢这应该是: @if (IsSectionDefined("Slideshow")) { RenderSection("Slideshow"); } else { @:<p>blah

我对razor视图引擎不是很熟悉。所以,我对语法有个问题

我有“_layout.cshtml”:

如果我不让@before部分,我会在(
  • ..)告诉我a}丢失后出现错误[line:29]2行

    CS1513: } attendue
    
    所以,我想这是可能的,但我不知道怎么做。你能帮帮我吗

    谢谢

    这应该是:

    @if (IsSectionDefined("Slideshow"))
    {
         RenderSection("Slideshow");
    }
    else
    {
        @:<p>blah blah blah</p>
    }
    
    
    @if(ViewBag.Article == null)
    {
        @:<p>blabla</p>
    }
    else
    {
        section Slideshow
        {
            @:<ul><li>slide here</li></ul>
        }
    }
    
    @if(IsSectionDefined(“幻灯片放映”))
    {
    渲染(“幻灯片放映”);
    }
    其他的
    {
    @:废话废话

    } @如果(ViewBag.Article==null) { @:blabla

    } 其他的 { 部分幻灯片 { @:
    • 此处幻灯片
      • } }
    仅当编译器不知道您要编写实际代码时,才需要用@启动c#语句

    使用@:在纯文本的开头,编译器知道它的纯文本

    使用
    标记将文本括起来具有相同的效果。
    标记中的每个c#语句都需要以@

    开头,您可以这样做

     @{
        if(ViewBag.Article == null)
    {
        <p>blabla</p>
    }
    else
    {
        section Slideshow
        {
            <ul><li>slide here</li></ul>
        }
    }    
        }
    
    @{
    如果(ViewBag.Article==null)
    {
    布拉布拉

    } 其他的 { 部分幻灯片 {
    • 在此处滑动
      • } } }
    CS1513: } attendue
    
    @if (IsSectionDefined("Slideshow"))
    {
         RenderSection("Slideshow");
    }
    else
    {
        @:<p>blah blah blah</p>
    }
    
    
    @if(ViewBag.Article == null)
    {
        @:<p>blabla</p>
    }
    else
    {
        section Slideshow
        {
            @:<ul><li>slide here</li></ul>
        }
    }
    
     @{
        if(ViewBag.Article == null)
    {
        <p>blabla</p>
    }
    else
    {
        section Slideshow
        {
            <ul><li>slide here</li></ul>
        }
    }    
        }