Когда вы заключаете что-то в текстовый тег, вы говорите Razor, что «это текст», а не код. Если вы хотите код, вы можете сделать блок кода, например:
<text>@{ var pattern = fjkfdkl; }</text>
Если вы делаете это в каком-то цикле, вы можете просто продолжить писать свой код:
foreach(var o in listOfObjects) {
var pattern = fjkfdkl;
}
В приведенном выше примере бритва знает, что код, а что нет. Затем вы можете расширить приведенный выше пример, если хотите поместить разметку в цикл:
foreach(var o in listOfObjects) {
var pattern = fjkfdkl;
<text>
Hello World!
</text>
}
или
foreach(var o in listOfObjects) {
var pattern = fjkfdkl;
<p>
Hello World.
<p>
}
Вам действительно нужно использовать теги <text></text>
внутри циклов, где у вас нет html-тегов.
Razor достаточно умен, поэтому при открытии тега внутри цикла, например, <p>
он знает, пока этот тег не будет закрыт, затем его разметка. Когда он будет закрыт, он будет искать }
для закрытия цикла (или другого HTML-тега).