如何使用 RazorEngine 来包含文件?
How to use RazorEngine to include files?
我正在尝试使用 RazorEngine 将其他文件包含在模板中,但我有点卡住了。我掌握了基础知识,但我希望能够在我的模板中使用 @Include("somefile.html")
。
这是我到目前为止得到的:
string tpl = @"@Include(""foo.html"");";
ResolvePathTemplateManager r = new ResolvePathTemplateManager(new string[] { "html" });
var config = new TemplateServiceConfiguration();
config.TemplateManager = r;
var service = RazorEngineService.Create(config);
var a = service.RunCompile(tpl, "name", null, new { test = "TEMPLATE" });
当前工作目录有一个 html
目录,其中 foo.html
位于其中,但我收到此错误:
Could not resolve template name
显然,解析路径时,不能使用字符串模板。此代码有效:
ResolvePathTemplateManager r = new ResolvePathTemplateManager(new string[] { "html" });
var config = new TemplateServiceConfiguration();
config.TemplateManager = r;
var service = RazorEngineService.Create(config);
var a = service.RunCompile("foo.html");
在foo.html
中我可以使用:
@Include("otherfile.html");
包含同一目录中的文件。
我正在尝试使用 RazorEngine 将其他文件包含在模板中,但我有点卡住了。我掌握了基础知识,但我希望能够在我的模板中使用 @Include("somefile.html")
。
这是我到目前为止得到的:
string tpl = @"@Include(""foo.html"");";
ResolvePathTemplateManager r = new ResolvePathTemplateManager(new string[] { "html" });
var config = new TemplateServiceConfiguration();
config.TemplateManager = r;
var service = RazorEngineService.Create(config);
var a = service.RunCompile(tpl, "name", null, new { test = "TEMPLATE" });
当前工作目录有一个 html
目录,其中 foo.html
位于其中,但我收到此错误:
Could not resolve template name
显然,解析路径时,不能使用字符串模板。此代码有效:
ResolvePathTemplateManager r = new ResolvePathTemplateManager(new string[] { "html" });
var config = new TemplateServiceConfiguration();
config.TemplateManager = r;
var service = RazorEngineService.Create(config);
var a = service.RunCompile("foo.html");
在foo.html
中我可以使用:
@Include("otherfile.html");
包含同一目录中的文件。