C# 在Asp.Net中发送格式化电子邮件
除了我自己写的C# 在Asp.Net中发送格式化电子邮件,c#,asp.net,email,C#,Asp.net,Email,除了我自己写的。。数据库中的记录未格式化 所以,我调试了一下。。找到了这个 <ol> <li>Number1</li> <li>Number2</li> <li><p>Number3</p> </li> </ol> <p><a title="/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f
。。数据库中的记录未格式化
所以,我调试了一下。。找到了这个
<ol> <li>Number1</li> <li>Number2</li> <li><p>Number3</p> </li> </ol> <p><a title="/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg" onkeypress="this.onclick();" onclick="try{window.open('/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg', 'MyImage', 'resizable=yes, scrollbars=yes, width=790, height=580')}catch(e){};return false;" href="#"><img title="DiagnosticsService1" border="0" alt="DiagnosticsService1" src="/NHGD/assets/0/71/90/92/thumb_b834e617-473d-49e8-beb1-ecade3afdd2f.jpg" /></a></p> <p> </p> <p>End<br /></p>
ol
林1/李
liNumber2/li
LIP编号3/p
/李
/ol
pa title=“/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade
3afdd2f.jpg“onkeypress=”this.onclick();“onclick=”try{windo
w、 开放('/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg','MyIm
年龄','可调整大小=是,滚动条=是,宽度=790,高度=580')}捕捉(e){};返回
false;“href=”img title=“DiagnosticsService1”
border=“0”alt=“DiagnosticsService1”src=“/NHGD/assets
/0/71/90/92/thumb_b834e617-473d-49e8-beb1-ecade3afdd2f.jpg”//a
/p
p/p
pEndbr//p
ol
林1/李
liNumber2/li
LIP编号3/p
/李
/ol
pa title=“/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade
3afdd2f.jpg“onkeypress=”this.onclick();“onclick=”try{windo
w、 开放('/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg','MyIm
年龄','可调整大小=是,滚动条=是,宽度=790,高度=580')}捕捉(e){};返回
false;“href=”img title=“DiagnosticsService1”
border=“0”alt=“DiagnosticsService1”src=“/NHGD/assets
/0/71/90/92/thumb_b834e617-473d-49e8-beb1-ecade3afdd2f.jpg”//a
/p
p/p
pEndbr//p
发现当它被存储到数据库中时,所有的特殊字符都变成了那个
这就是为什么在保存到数据库时没有错误
现在,我的问题是如何将它们改回原来的角色
因此,它将被正确格式化
非常感谢。您可以使用您可以使用
HttpUtility-HtmlDecode/HtmlEncode
方法来实现您需要的功能
使用System.Web
var encoded=HttpUtility.HtmlEncode(未编码)
还有一篇有趣的文章
交替地
<html><body><ol>
<li>Number1</li>
<li>Number2</li>
<li><p>Number3</p>
</li>
</ol>
<p><a title="/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade
3afdd2f.jpg" onkeypress="this.onclick();" onclick="try{windo
w.open('/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg', 'MyIm
age', 'resizable=yes, scrollbars=yes, width=790, height=580')}catch(e){};return
false;" href="#"><img title="DiagnosticsService1"
border="0" alt="DiagnosticsService1" src="/NHGD/assets
/0/71/90/92/thumb_b834e617-473d-49e8-beb1-ecade3afdd2f.jpg" /></a>
</p>
<p> </p>
<p>End<br /></p></body></html>
<html><body><ol>
<li>Number1</li>
<li>Number2</li>
<li><p>Number3</p>
</li>
</ol>
<p><a title="/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade
3afdd2f.jpg" onkeypress="this.onclick();" onclick="try{windo
w.open('/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg', 'MyIm
age', 'resizable=yes, scrollbars=yes, width=790, height=580')}catch(e){};return
false;" href="#"><img title="DiagnosticsService1"
border="0" alt="DiagnosticsService1" src="/NHGD/assets
/0/71/90/92/thumb_b834e617-473d-49e8-beb1-ecade3afdd2f.jpg" /></a>
</p>
<p> </p>
<p>End<br /></p></body></html>
是的,这是真的,您不能将html数据保存到数据库。必须使用
Server.HtmlEncode
将字符串转换为html编码的字符串,以避免页面验证错误等
如果要从数据表访问Html编码的数据,请使用Server.HtmlDecode
()
有关详细信息,请遵循以下步骤:
Server.HtmlEncode:
Server.htmlde代码:
String msgBody=”“+Server.HtmlDecode(dtlSubscribe.Rows[i][“时事通讯”正文].ToString().Trim())+”;
Server.HtmlDecode对您的文本有什么作用,请查看
<html><body><ol>
<li>Number1</li>
<li>Number2</li>
<li><p>Number3</p>
</li>
</ol>
<p><a title="/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade
3afdd2f.jpg" onkeypress="this.onclick();" onclick="try{windo
w.open('/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg', 'MyIm
age', 'resizable=yes, scrollbars=yes, width=790, height=580')}catch(e){};return
false;" href="#"><img title="DiagnosticsService1"
border="0" alt="DiagnosticsService1" src="/NHGD/assets
/0/71/90/92/thumb_b834e617-473d-49e8-beb1-ecade3afdd2f.jpg" /></a>
</p>
<p> </p>
<p>End<br /></p></body></html>
<html><body><ol>
<li>Number1</li>
<li>Number2</li>
<li><p>Number3</p>
</li>
</ol>
<p><a title="/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade
3afdd2f.jpg" onkeypress="this.onclick();" onclick="try{windo
w.open('/NHGD/assets/0/71/90/92/b834e617-473d-49e8-beb1-ecade3afdd2f.jpg', 'MyIm
age', 'resizable=yes, scrollbars=yes, width=790, height=580')}catch(e){};return
false;" href="#"><img title="DiagnosticsService1"
border="0" alt="DiagnosticsService1" src="/NHGD/assets
/0/71/90/92/thumb_b834e617-473d-49e8-beb1-ecade3afdd2f.jpg" /></a>
</p>
<p> </p>
<p>End<br /></p></body></html>
public static string CustomHtmlEncode(string value)
{
char[] chars = HttpUtility.HtmlEncode(YourDbString).ToCharArray();
StringBuilder encodedValue = new StringBuilder();
foreach(char c in chars)
{
if ((int)c > 127) // above normal ASCII
encodedValue.Append("&#" + (int)c + ";");
else
encodedValue.Append(c);
}
return encodedValue.ToString();
}
String msgBody = "<html><body>" + Server.HtmlDecode(dtlSubscribe.Rows[i]["NewsLetter_Body"].ToString().Trim()) + "</body></html>";