If I look at the Razor View Engine, then I see a very nice and concise syntax that is not particularly tied to generating html. So I wonder, how easy would it be to use the engine outside asp.net in a "normal" .net environment for example to generate text, code,...
Any pointer, example, comment or explanation is welcome.
There are two issues here:
<tags>
to determine the transition between code and markup. You can probably use it to generate any text but you might run into issues when your output doesn't match Razor's assumptions about what your intentions are.So for example while this is valid Razor code (because of the <div>
tag):
@if(printHello) {
<div>Hello!</div>
}
The following snippet is invalid (because the Hello! is still being treated as code):
@if(printHello) {
Hello!
}
However there's a special <text>
tag that can be used to force a transition for multi-line blocks (the <text>
tag will not be rendered):
@if(printHello) {
<text>Hello!
Another line</text>
}
There is also a shorter syntax to force a single line to transition using @:
:
@if(printHello) {
@:Hello!
}