5

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

4

1 回答 1

0

我们正在使用 Razor Generator - VS 的自定义工具(http://visualstudiogallery.msdn.microsoft.com/1f6ec6ff-e89b-4c47-8e79-d2d68df894ec?SRC=VSIDE)。

Razor 视图在设计时被预编译并作为 C# 类内置到程序集中。无需包含 .cshtml 文件即可作为嵌入式资源进行项目。

于 2013-08-02T14:27:05.183 回答