2

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

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> :@

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

4

4 回答 4

2
@{  <text><div></div></text> }  

利用<text></text>

于 2013-10-22T02:40:39.960 回答
1

利用@{ }

@{ 
   <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>

}
于 2013-09-11T13:12:37.627 回答
0

您必须仅使用 @ 来限定视图中的访问范围或分隔 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>
}
于 2013-09-11T13:13:32.653 回答
0

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

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

if(cond) { insert <div> } else {insert other div}

所以我猜 CLR 看不到结束}

通过将整个<div></div>结构放在条件块内来修复它。

谢谢你的回复,干杯!

于 2013-09-12T09:49:04.433 回答