【问题标题】:ASP.NET (MVC) - render page to a fileASP.NET (MVC) - 将页面呈现到文件
【发布时间】:2010-10-29 07:55:05
【问题描述】:

我必须创建一堆静态 html 文件作为控制台/winform 作业。当前的解决方案使用字符串生成器。将 ASP.NET-MVC 与强类型视图页面 (System.Web.Mvc.ViewPage) 一起使用后,我想知道是否可以在不构建 ASP.NET 解决方案的情况下利用这些视图页面并将它们输出到流或文件中。

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

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

如果这最终需要把整个厨房水槽都带过来,那么我可以做一个字符串生成器样式。

谢谢。

【问题讨论】:

  • 我不确定我是否完全理解了这个问题,为什么您不更多地寻求 XSLTish 解决方案并灵活地处理您的 winform/console 工作如何进行渲染?
  • Yah.... 我想我想使用 ASP ViewPage 因为我知道它并且设计器对 html 很有帮助。但这两个原因似乎有点弱:)
  • 好的...我想结束这个问题,但似乎没有一个选项适合,所以也许我应该让它保持打开状态。不管怎样,我不再喜欢这个问题了,因为它让我觉得自己很愚蠢:)

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


【解决方案1】:

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

[控制器动作] 公共无效关于() { StringWriter builder = new StringWriter(); TextWriter originalWriter = Response.Output; Response.SwitchWriter(builder); RenderView("关于"); 字符串 html = builder.ToString(); originalWriter.Write(html); }

【讨论】:

  • 对不起,我不是很清楚。我不知道该怎么表达。我不想建立一个实际的网站......我只想让一个控制台应用程序吐出 html 文件。我希望使用内置的 ASP.NET ViewPage(特别是 Mvc 强类型的)作为我的模板来创建这些 html 文件。
  • 我确实喜欢你的解决方案......这对其他事情很了解:) +1!
【解决方案2】:

您需要的是模板引擎。我会推荐你​​StringTemplate。它可以用作独立引擎,并且具有 .NET 版本。有一个 CodeProject article 可以帮助您入门。

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

【解决方案3】:

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

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

这里有几个其他的例子:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-21
    • 1970-01-01
    • 2017-04-25
    • 1970-01-01
    • 1970-01-01
    • 2019-07-07
    • 2023-04-09
    • 2015-07-26
    相关资源
    最近更新 更多