【发布时间】:2011-12-15 01:24:07
【问题描述】:
是否可以使用一种技术从应用程序中重定向到 URL,并简单地获取将要显示的页面内容,而是将其呈现到电子邮件或其他方式?我相信我已经看到了 InnerHTML 的使用,但这真的是最好的方法吗?对我来说,这似乎有点骇人听闻。 谢谢!
【问题讨论】:
标签: .net html rendering innerhtml
是否可以使用一种技术从应用程序中重定向到 URL,并简单地获取将要显示的页面内容,而是将其呈现到电子邮件或其他方式?我相信我已经看到了 InnerHTML 的使用,但这真的是最好的方法吗?对我来说,这似乎有点骇人听闻。 谢谢!
【问题讨论】:
标签: .net html rendering innerhtml
是的,这是可能的。使用WebClient 或HttpWebRequest 下载页面,将其放入MailMessage 的Body 中(同时查看IsBodyHtml 和AlternateViews 属性),然后使用Send 将其放入@987654324 @。
但是,应该创建 URL 处的页面,以便它有很好的机会被电子邮件客户端使用:非常少量的 CSS、基于表格的布局(啊...)、即使图像也很好看不由客户端呈现,左对齐文本,无 Javascript,无 Flash,无 Silverlight,无嵌入视频等。有关 HTML 电子邮件创建的详细信息,请参见 this 和 this。
如果您下载的页面不遵守这些规则,您可能需要在发送前对其进行修改。 @Gaby 建议的 HTML Agility Pack 是一个 HTML 解析器,也是用于此目的的最佳工具之一。
【讨论】:
您可能想查看Html Agility Pack
【讨论】:
只需使用WebClient.DownloadFile 方法保存文件,然后对它做任何你想做的事情。
【讨论】: