我的计划是有一些动态加载的程序集,可能提供一些网络界面。
我决定将一些WebApi控制器放在这些程序集中,其中一些控制器可以使用内联Razor模板(通过自定义MediaTypeFormatter)提供html视图。 到目前为止,使用内联Razor模板效果非常好:
但我遇到的问题是,我无法弄清如何使用/注册位于我的程序集内部的外部Razor视图(.cshtml文件)。
到目前为止,我尝试了以下方法:
我决定将一些WebApi控制器放在这些程序集中,其中一些控制器可以使用内联Razor模板(通过自定义MediaTypeFormatter)提供html视图。 到目前为止,使用内联Razor模板效果非常好:
var myModel = new {Name:"World"};
var template = "Hello, @Model.Name!";
return Razor.Parse(template, myModel);
但我遇到的问题是,我无法弄清如何使用/注册位于我的程序集内部的外部Razor视图(.cshtml文件)。
到目前为止,我尝试了以下方法:
var template = Razor.Resolve("MyView.cshtml", myModel);
return template.Run(new ExecuteContext());
但是我的template
变量为null
,我猜测MyView.cshtml文件无法找到、未注册或引用不正确。
Razor.SetTemplateService
,并使用从正确程序集解析模板的TemplateService
? - nemesvTemplateService
的方向吗?谢谢。 - Maksim Vi.