Il y a deux problèmes ici:
- Oui, vous pouvez exécuter Razor View Engine en dehors du contexte d'un domaine d'application ASP.NET, comme expliqué dans le blog d'Andrew: http://vibrantcode.com/blog/2010/11/16/hosting-razor-outside-of -aspnet-révisé-pour-mvc3-rc.html
- Cependant, Razor se concentre toujours principalement sur la génération de balisage de type xml (par exemple HTML) dans le sens où l'analyseur Razor utilise la présence de
<tags>
pour déterminer la transition entre le code et le balisage. Vous pouvez probablement l'utiliser pour générer du texte, mais vous pouvez rencontrer des problèmes lorsque votre sortie ne correspond pas aux hypothèses de Razor sur vos intentions.
Par exemple, tant qu'il s'agit d'un code Razor valide (à cause de la <div>
balise):
@if(printHello) {
<div>Hello!</div>
}
L'extrait de code suivant n'est pas valide (car Hello! Est toujours traité comme du code):
@if(printHello) {
Hello!
}
Cependant, il existe une <text>
balise spéciale qui peut être utilisée pour forcer une transition pour les blocs multi-lignes (la <text>
balise ne sera pas rendue):
@if(printHello) {
<text>Hello!
Another line</text>
}
Il existe également une syntaxe plus courte pour forcer la transition d'une seule ligne en utilisant @:
:
@if(printHello) {
@:Hello!
}
<text>
balises magiques ou les utiliser de@:
temps en temps. Une fois que le support de l'éditeur VS sortira pour la syntaxe Razor, il sera assez facile de dire quand les transitions se produiront.Vérifiez RazorEngine , c'est un petit framework construit sur Razor qui vous permet de le faire.
la source
Jetez un œil à la bibliothèque RazorTemplates . Elle est plus légère que la bibliothèque RazorEngine, elle est sûre pour les threads et possède une très belle interface minimale.
La compilation et le rendu d'un modèle sont aussi simples que deux lignes de code:
la source
Les deux RazorEngine et RazorTemplates sont déjà mentionnés, mais vérifier RazorMachine . Vous pouvez simplement pointer votre application non MVC vers un dossier ~ / Views d'une (autre) application MVC existante, l'exécuter en envoyant le modèle approprié et obtenir la sortie rendue sur 2 lignes de code:
la source
Générer du code ou du texte: vous voulez dire comme des modèles T4: http://msdn.microsoft.com/en-us/library/bb126445.aspx ou des outils de création de codes?
la source