NHAML是否需要ASP.NET MVC?

时间:2010-11-24 08:42:05

标签: nhaml

无法直接在NHAML项目页面上找到这个,所以我想知道你是否需要运行ASP.NET MVC才能使用NHaml,或者我是否可以在“普通”ASP.NET网页上使用它?

另外,我已经读过您需要拦截Sass请求并手动调用构建器吗?

2 个答案:

答案 0 :(得分:1)

问题与答案有些重复:Can NHaml be used as a general purpose template engine? (outside of MVC)

引用:

  

是的,没有ASP.Net就可以使用它   MVC。我用它来做我自己的网络服务器   (但这并不意味着你有   与网络服务器一起使用。)

     

在这里查看我如何使用它:   http://webserver.codeplex.com/SourceControl/changeset/view/50874#671672

     

你做的简短就是这样的   这样:

TemplateEngine _templateEngine = new TemplateEngine();

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

在编译模板时找到它       _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   =这个;

// 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);

答案 1 :(得分:0)

不,它不需要ASP.NET MVC,尽管它有一个实现。如果愿意,您甚至可以在控制台应用程序中处理NHaml模板。