Тут є два питання:
- Так, ви можете запустити систему Razor View Engine поза контекстом домену програми ASP.NET, як пояснено в блозі Ендрю: http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of -aspnet-переглянутий-для-mvc3-rc.html
- Однак, Razor все ще в основному зосереджений на генеруванні розмітки, що нагадує xml (наприклад, HTML) у тому сенсі, що аналізатор Razor використовує наявність
<tags>
для визначення переходу між кодом та розміткою. Ви, ймовірно, можете використовувати його для створення будь-якого тексту, але у вас можуть виникнути проблеми, коли ваш вихід не відповідає припущенням Razor про те, які ваші наміри.
Так, наприклад, поки це дійсний код Razor (через <div>
тег):
@if(printHello) {
<div>Hello!</div>
}
Наступний фрагмент недійсний (тому що привіт! Досі розглядається як код):
@if(printHello) {
Hello!
}
Однак є спеціальний <text>
тег, який можна використовувати для примусового переходу для багаторядкових блоків ( <text>
тег не буде надано):
@if(printHello) {
<text>Hello!
Another line</text>
}
Існує також коротший синтаксис, щоб змусити один рядок до переходу за допомогою @:
:
@if(printHello) {
@:Hello!
}