【问题标题】:Asp.net MVC3 Razor view engine, escape several lines of text using "Multiline @:"?Asp.net MVC3 Razor 视图引擎,使用“Multiline @:”转义几行文本?
【发布时间】:2013-09-11 13:06:39
【问题描述】:

我正在做一个项目,我需要做这样的事情:

foreach(var item in Model)
{
@:<div class="my-class"> this is some content </div>
@:<div class="my-other-class">this is some more content </div>
}

但是,当然,这样做是愚蠢的。所以我的问题是:

-是否有一个符号可以像上面给出的示例一样转义几行 html 代码?

例如

@: <div>
   <div>
   <div> :@

非常感谢您的帮助。谢谢:)

【问题讨论】:

  • er.. 在您的代码示例中没有剃刀语法,它是纯 HTML,所以根本不需要 @:?

标签: c# asp.net asp.net-mvc asp.net-mvc-3 razor


【解决方案1】:
@{  <text><div></div></text> }  

使用&lt;text&gt;&lt;/text&gt;

【讨论】:

    【解决方案2】:

    使用@{ }

    @{ 
       <div>
       <div>
       <div> 
    }
    

    尽管在这种情况下您没有使用 Razor 引擎来做任何有用的事情,但您可以简单地省略它们。

    作为替代方案,您可以简单地在 foreach 之前添加一个 @

    @foreach(var item in Model)
    {
       <div class="my-class"> @item.Property </div>
       <div class="my-other-class">this is some more content </div>
    
    }
    

    【讨论】:

      【解决方案3】:

      您必须仅使用 @ 来限定视图中的访问范围或分隔 c-sharp/vb 代码。例如,纯 HTML 可以作为纯 HTML 单独存在:

      划定一个有效的赋值:

      @{ 
         int x = 123; 
         string y = "because.";
      }
      

      在代码中使用变量x

      <div>@x</div>
      

      在代码中使用变量 y

      <div>@y</div>
      

      同时使用 x 和 y

      @{ 
         <div>@x</div>
         <div>@y</div>
      }
      

      为:

      @foreach(var item in Model)
      {
        <div class="my-class"> @item.SomeProperty </div>
        <div class="my-other-class">this is some more content </div>
      }
      

      【讨论】:

        【解决方案4】:

        啊,是的,问题出在我的结构上。确实,html 代码是独立存在的。

        问题是我有一个块,我会根据条件在其中插入不同的起始标签

        if(cond) { insert &lt;div&gt; } else {insert other div}

        所以我猜 CLR 看不到结束 }

        通过将整个 &lt;div&gt;&lt;/div&gt; 结构放入条件块中来修复它。

        感谢您的回复,干杯!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-03-11
          • 1970-01-01
          • 2011-09-24
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多