1

有几个“要求”:

1) 应用程序必须从 razor 标记生成静态 HTML 文件。

2)实现(1)中的控制器,需要使用应用程序中已经定义好的视图和模型。

我知道RazorEngine可以将一个简单的模板和一个模型组合为一个包含 Html 的字符串:

string template = "Hello @Model.Name! Welcome to Razor!";   
string result = Razor.Parse(template, new { Name = "World" });

文档并没有说太多,但这里的问题是这还远远不够。我希望 Parse 方法接受:

a) 控制器已知的视图名称或

b) 视图的路径。

有没有办法使用实际的 MVC 视图和模型来创建 Html 文件?一个工作示例将不胜感激。

4

1 回答 1

1

b) 视图的路径。

如果您知道视图的路径,则可以阅读其内容:

string viewPath = "...";
string template = File.ReadAllText(viewPath);

然后正如文档所述,您可以使用 Razor Engine 传递模型和视图的内容以获取标记:

string result = Razor.Parse(template, new { Name = "World" });
于 2013-11-10T09:46:53.487 回答