ASP.NET(MVC) - 将页面呈现到文件

时间:2009-05-27 15:58:59

标签: asp.net asp.net-mvc viewengine

我必须创建一堆静态html文件作为console / winform作业。当前解决方案使用字符串构建器。使用ASP.NET-MVC和强类型视图页面(System.Web.Mvc.ViewPage)后,我想知道是否可以利用这些视图页面并将它们输出到流或文件而无需构建ASP.NET解决方案。

基本上我想创建视图页面,传入强类型对象,然后渲染结果。

我也对其他视图引擎开放。

如果这最终要求整个厨房水槽,那么我可以做一个字符串建设者风格。

感谢。

3 个答案:

答案 0 :(得分:5)

请注意这是否有帮助,因为我不清楚你的问题。

[ControllerAction]
public void About()
{
    StringWriter builder = new StringWriter();
    TextWriter originalWriter = Response.Output;
    Response.SwitchWriter(builder);
    RenderView("About");

    string html = builder.ToString();

    originalWriter.Write(html);
}

答案 1 :(得分:3)

我个人喜欢上面提到的StringTemplate选项,但您实际上可以在桌面应用程序中托管ASP.NET运行时。

West Wind Technologies处的Rick Strahl有一个如何设置它的详细示例:Using the ASP.Net Runtime for extending desktop applications with dynamic HTML Scripts

以下是其他一些例子:

答案 2 :(得分:2)

您需要的是模板引擎。我建议你StringTemplate。它可以用作独立引擎,它有.NET版本。有一个CodeProject article可以让你入门。

AFAIK ASP.NET WebForms无法在没有ASP.NET基础结构的情况下运行。