如何使用asp.net生成HTML文档并将其作为字符串返回(在Web上下文之外)

时间:2010-08-31 16:06:05

标签: c# asp.net html email

我需要编写一个系统来从数据模型生成HTML电子邮件 -

我打算创建一个模板系统,使用存储在xml模板中的HTML“片段”将模型构建为HTML表示。但是我觉得使用asp或asp.net比编写我自己的模板系统更好吗?

我想知道是否/如何使用asp(可能是asp.net mvc?)来返回HTML字符串 - 我不会在Web服务器上运行,也不会响应HTTP请求。

我还没有做任何asp或asp.net-我的ASP体验延伸到视觉工作室的“创建新项目” - 但现在可能是学习的好时机!

谢谢!

2 个答案:

答案 0 :(得分:0)

最简单的方法是创建一个呈现电子邮件的aspx页面,然后使用WebClient或HttpWebRequest在服务器上读取它。

System.Net.WebClient oClient = new System.Net.WebClient();
string Email = oClient.DownloadString(UrlOfPage);

还有其他方法可以捕获输出,我相信如果您在Google上搜索,您可以找到有关此内容的文章,但从个人经验来看,这是最简单的方法。

还要注意许多电子邮件客户端的Html / Css限制。它与浏览器不同。

答案 1 :(得分:0)

标准的ASP.NET视图引擎--ASP.NET Web表单 - 很难以这种方式使用,因为它与HttpContext非常相关,并且真的不想给你一个字符串,而是流进入HttpResponse。因此,您通常需要IIS站起来才能实现目标。

Xslt(正如您所想)是一个相当不错的选择。如果事情很简单,你自己的模板替换方案。现在,如果事情足够复杂,其他一些选择将包括:

其中任何一个都应该让你从模板中获取一个字符串而不会有太多麻烦。