我对String.Format()
有疑问。有一些.htm格式的电子邮件信件,我阅读并使用String.Format()
插入所需的参数。在信中我使用skype链接,如<a href="skype:{0}?chat">Skype</a>
,其中{0}
- Skype名称。发送后,用户会收到包含<a>Skype</a>
此类链接的信件,而不包含href
部分。我做错了什么?
代码:
我在这里寄信
path
- 带字母模板的.htm文件路径
SmtpProviderService.SendEmail(email, subject, string.Format(File.ReadAllText(path), mailParameters), false);
.htm文件包含此字符串
<td style="border:0"><a href="skype:{0}?chat">{0}</a></td>
{0}
- mailParameters
答案 0 :(得分:1)
与往常一样,第一步是调试;添加代码:
string template = File.ReadAllText(path);
string finalHtml = string.Format(template, mailParameters);
SmtpProviderService.SendEmail(email, subject, finalHtml, false);
现在在第三行放置一个断点,检查finalHtml
的值。我强烈怀疑你会发现它完好无损,这意味着:问题出现在SendEmail
内。如果finalHtml
不完好无损,我强烈建议您查看template
的值,以检查它是否符合您的预期。