本部分所要描述的产生html格式的E_Mail的解决方案将呈现的输出与本文其他方式产生的输出是完全一样的。它采用完全不同的技术,它已经在开发领域出现多年了:解析。让我们先创建解析器,代码如下:
他们是如何创建,有什么用那?首先:HtmlTemplateParserCS类的属性(只读),这些属性对我的类来说是至关重要的。为了解析html文件,我需要一个TemplateFileName,符号(作为我模板文件中数据的占位符)数组,数据(呈现从数据储存器中获取的数据)数组。符号和值是由“|”分割的字符数组。注意,我在他们各自属性的set方法里通过Split方法(value变量的)分割数组。分割是必须的,因为我要移除“|”字符。
在方法GetParsedHtmlFile中,我创建了StringBuilder的实例FileContents ,它将附加函数GetContentOfTemplateFile的返回值。
方法GetContentOfTemplateFile 将文件名作为参数,并用StreamReader 读取提供的html模板的内容,然后以string类型返回模板的内容。
剩下的事就是用各自的值替换符号。为了实现这个目的,我重新遍历数组,通过用GetLowerBound 和GetUpperBound 方法探测边界。然后以string类型返回FileContents的内容。
利用解析发送Mail
问题是如何利用上面开发的解析器发送Mail?这是我接下来要描述的。从一个新的名为TemplateHtmlParser.aspx的开始。用户获取密码的接口以及触发的行为---发送要求的Mail---跟文章前面部分描述的一样,所以不再赘述。但是,我发现我必须创建一个新的名为ParsedHtmlEmailCS.cs的文件,它将从EmailDataCS(这个前面也有叙述)的实例中获取必需的数据。下面的代码展示了上面所说的内容