gpt4 book ai didi

.net - NHaml 可以用作通用模板引擎吗? (MVC 之外)

转载 作者:行者123 更新时间:2023-12-01 01:31:37 25 4
gpt4 key购买 nike

我看到很多人喜欢在 ASP.NET MVC 中使用 NHaml View 引擎,但我想知道 NHaml 是否可以用作 .NET 中的通用模板引擎?我想从控制台应用程序中使用 NHaml,或者在 ASP MVC View 引擎环境之外生成 HTML 电子邮件模板。这可能吗?我没有在任何地方找到很多代码示例来展示如何做到这一点。谢谢!

最佳答案

是的,它可以在没有 ASP.Net MVC 的情况下使用。我将它用于我自己的 Web 服务器(但这并不意味着您必须将它与 Web 服务器一起使用)。

在此处查看我如何使用它: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 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);

关于.net - NHaml 可以用作通用模板引擎吗? (MVC 之外),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4384022/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com