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

2 html asp.net-mvc razor asp.net-mvc-3

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

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

<text> var pattern = @fjkfdkl</text>
Run Code Online (Sandbox Code Playgroud)

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

lan*_*der 7

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

<text>@{ var pattern = fjkfdkl; }</text>
Run Code Online (Sandbox Code Playgroud)

如果您在某种循环中执行此操作,则可以继续编写代码:

foreach(var o in listOfObjects) {
  var pattern = fjkfdkl;
}
Run Code Online (Sandbox Code Playgroud)

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

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

要么

foreach(var o in listOfObjects) {
  var pattern = fjkfdkl;
  <p>
    Hello World.
  <p>
}
Run Code Online (Sandbox Code Playgroud)

你只需要<text></text>在你没有任何html标签的循环中使用标签.

Razor非常聪明,所以当你在循环中打开你的标签时,例如<p>它知道直到那个标签被关闭然后它的标记.当它关闭时,它将寻找}关闭循环(或另一个html标签).