我的计划是让一些动态加载的程序集可以提供一些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,没有注册或没有正确引用。
答案 0 :(得分:0)
我们正在使用Razor Generator - VS的自定义工具(http://visualstudiogallery.msdn.microsoft.com/1f6ec6ff-e89b-4c47-8e79-d2d68df894ec?SRC=VSIDE)。
Razor视图在设计时预编译,并作为C#类内置到程序集中。不需要包含.cshtml文件作为嵌入式资源进行投影。