【问题标题】:Compile ASPX in WinForms App在 WinForms 应用程序中编译 ASPX
【发布时间】:2010-12-11 02:37:38
【问题描述】:

我正在编写一个发送电子邮件的 WinForms 应用程序(如邮件合并)。

我想使用 ASP.Net 的渲染引擎来渲染消息的 HTML 正文。

在没有整个 ASP.Net 运行时的情况下获取单个 ASPX 页面的渲染输出的最简单方法是什么?

为了让事情变得更难,我更喜欢在运行时编译 ASPX,这样就可以在不重新构建应用程序的情况下对其进行修改。但是,这不是必需的;如果太难,我就放弃了。

【问题讨论】:

  • 这不是完全重复的;其他问题要么通过 HTTP 提供任意页面,要么在 ASP .Net 中运行。
  • 呈现你的意思是当用户键入电子邮件时你给它的 html 预览?
  • 否;我的意思是将带有嵌入式代码的 ASPX 渲染为可以通过电子邮件发送的字符串。我不需要在屏幕上实际呈现 HTML。

标签: c# asp.net winforms email mailmerge


【解决方案1】:

Rick Strahl 在此位置发布了一篇文章如何做到这一点:http://www.west-wind.com/presentations/aspnetruntime/aspnetruntime.asp。我知道有一种方法可以调用一些内部 .NET Framework 方法,但我不记得它们是什么。

【讨论】:

    【解决方案2】:

    您可能需要考虑使用像 NVelocity 这样的模板库。以这种方式使用 WebForms 渲染引擎有点矫枉过正,充其量也是 hackish。

    顺便说一句:请记住,电子邮件中的 HTML 很糟糕。大多数电子邮件客户端甚至忽略了最基本的 CSS。如果您需要我的建议,亲吻并保持理智:如果您要自动发送电子邮件,请仅发送纯文本。

    【讨论】:

    • 我们也将 ASPX 用于来自 ASP.NET(不是来自胖客户端)的纯文本电子邮件。效果很好,并且很容易动态化:) 使用这种方法的另一个原因是很容易将 ASPX 交给设计人员并让他们将其布置在您的服务器控件周围。这样您就不必花时间在布局上,而只需让它与动态数据一起工作。
    猜你喜欢
    • 2010-11-30
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 2018-12-28
    • 1970-01-01
    • 2010-12-09
    • 2010-10-24
    相关资源
    最近更新 更多