开发者

Does NHAML require ASP.NET MVC?

开发者 https://www.devze.com 2023-01-26 10:26 出处:网络
Couldn\'t find this directly on the NHAML project page, so i was wondering if you need to run the ASP.NET MVC in order to use NHaml or if I can use this on a \"normal\" ASP.NET webpage?

Couldn't find this directly on the NHAML project page, so i was wondering if you need to run the ASP.NET MVC in order to use NHaml or if I can use this on a "normal" ASP.NET webpage?

Also, i've read that you'd need to intercept requests for Sass and manually cal开发者_高级运维l the builder for it?


Question somewhat duplicated with the answer here: Can NHaml be used as a general purpose template engine? (outside of MVC)

Quote:

Yes, it can be used without ASP.Net MVC. I use it for my own web server (but that doesn't mean that you HAVE to use it with web servers).

Check out how I use it here: http://webserver.codeplex.com/SourceControl/changeset/view/50874#671672

What you do in short is something like this:

TemplateEngine _templateEngine = new TemplateEngine();

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

find it when compiling the template _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);


No, it does not require ASP.NET MVC although there's an implementation for it. You could process NHaml templates even in a console application if you will.

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号