如何在MVC 3剃须刀中使用文本标签

时间:2011-02-11 12:38:23

标签: html asp.net-mvc asp.net-mvc-3 razor

我想在MVC 3页面中使用正则表达式。我怎么用

当我用文本标签包装它们时,它们不起作用:

<text> var pattern = @fjkfdkl</text>

我不想在每个模式上放置@@而不是@。那么在MVC中使用文本标签的方式和规则是什么

1 个答案:

答案 0 :(得分:7)

当您在文本标签中包装某些内容时,您正在向Razor说“这是文本”而不​​是代码。如果你想要代码,你可以做一个代码块,如:

<text>@{ var pattern = fjkfdkl; }</text>

如果你在某种循环中这样做,你可以继续编写代码:

foreach(var o in listOfObjects) {
  var pattern = fjkfdkl;
}

在上面的示例中,razor知道什么是代码,什么不是。如果要将标记放在循环中,则可以展开上面的示例:

foreach(var o in listOfObjects) {
  var pattern = fjkfdkl;
  <text>
    Hello World!
  </text>
}

foreach(var o in listOfObjects) {
  var pattern = fjkfdkl;
  <p>
    Hello World.
  <p>
}

您只需要在没有任何html标记的循环内使用<text></text>标记。

Razor足够智能,所以当您在循环内打开标签时,例如<p>它知道,直到该标记被关闭,然后是标记。当它关闭时,它将寻找一个}来关闭一个循环(或另一个html标签)。