2011-04-07 83 views
2

在VS2010 web应用程序项目中,我想定义一个Razor模板,在构建时将其转换为单独的具体.html文件。如何在构建时使用Razor创建HTML文件?

有没有人想过如何做到这一点?

+0

您可以将它托管在本地,并使用http://www.spadixbd.com/backstreet/这样的工具来下载本地页面。 – 2011-04-07 08:53:57

+0

您能否提供有关该场景的更多信息?你期望Razor文件看起来像什么,你想要什么样的输出?您如何期望将模型数据提供到文件中? – marcind 2011-04-07 19:24:51

+0

当然,我想创建一个静态的Error.html页面,它将在web.config中被引用。没有任何数据,但我想使用某种模板,因为页面内的静态链接(CSS等)因解决方案配置而异。我之后使用了一个T4模板来检查活动配置并写出相关链接,但我认为Razor可能更适合,因为它是标记,我试图输出。 – DGreen 2011-04-08 14:08:05

回答

2

最简单的方法可能是构建一个创建文件的外部工具(exe,powershell脚本),并将其添加为构建操作。

我最近在博客中介绍如何创建一个PowerShell模块(blogpost here,source code here),这可能很有用。你可以管一些物体进入该cmdlet,像这样:

Get-Command | Format-Razor "Command: @Model.Name, @for (int i = 0; i < 5; i++) { @i }" 

如果你不熟悉PowerShell中,你可以做一些C#和编译控制台应用程序类似的东西。关于这方面的一些信息可以在Andrew Nurse's blog上找到,虽然他的帖子只是创建代码。你可以将我的PowerShell转换回C#,或复制安德鲁护士代码this presentation(接近尾声)编译(我的PowerShell是基于本网播内容编写的:))