2010-11-24 6 views
0

Impossible de trouver ceci directement sur la page du projet NHAML, donc je me demandais si vous devez exécuter ASP.NET MVC pour utiliser NHaml ou si je peux l'utiliser sur une page web ASP.NET "normale"?Est-ce que NHAML nécessite ASP.NET MVC?

En outre, j'ai lu que vous auriez besoin d'intercepter des demandes pour Sass et appeler manuellement le constructeur pour cela?

Répondre

0

Non, il ne nécessite pas ASP.NET MVC bien qu'il existe une implémentation pour cela. Vous pouvez traiter des modèles NHaml même dans une application de console si vous voulez.

+0

J'ai MVC 2 en cours d'exécution maintenant, mais en suivant les guides d'installation NHaml, je ne peux pas sembler trouver partout le ControllerBuilder pour Nhaml, donc je suis en train de déterminer comment obtenir Nhaml activé sur ASp.NET MVC 2 –

1

question un peu en double avec la réponse ici: Can NHaml be used as a general purpose template engine? (outside of MVC)

Quote:

Oui, il peut être utilisé sans ASP.Net MVC . Je l'utilise pour mon propre serveur Web (mais cela ne signifie pas que vous avez pour l'utiliser avec des serveurs Web).

Découvrez comment je l'utilise ici: http://webserver.codeplex.com/SourceControl/changeset/view/50874#671672

Ce que vous faites en un mot est quelque chose comme ceci:

TemplateEngine _templateEngine = new TemplateEngine(); 

// Add a type used in the template. Needed to that nhaml can 

trouvent lors de la compilation du modèle _templateEngine.Options.AddReferences (typeof (TypeInYourAssembly));

// base class for all templates 
_templateEngine.Options.TemplateBaseType 

= typeof (BaseClassForTemplates);

//class providing content to the engine, should implement 

ITemplateContentProvider _templateEngine.Options.TemplateContentProvider = this;

// compile the template, 
CompiledTemplate template = _templateEngine.Compile(new List<string> {layoutName, viewPath}, 
                   typeof (TemplateImplementation)); 

//create a instance 
var instance = (NHamlView)template.CreateInstance(); 

// provide the view data used by the template 
instance.ViewData = viewData; 

// render it into a text writer 
instance.Render(writer); 
+0

+1 pour le lien et l'information comment utiliser. :) –

Questions connexes