我的计划是有一些动态加载的程序集可以提供一些 Web 界面。
我决定在这些程序集中放置一些 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 找不到,没有注册或没有正确引用。