Html页面到字符串
本文关键字:字符串 Html | 更新日期: 2023-09-27 18:22:34
我正在以HTML格式向用户发送电子邮件。那里有很多编辑,比如用户名、用户生日和许多其他细节。
现在,我不希望我的代码看起来像这样:
String message = "hello " + "David'n" + "congratulation for your " + birthday + "'nPleas visit our site'n" + siteLink + " to get your bonus";
有什么C#工具可以让我轻松编辑吗?
您似乎希望能够在单个字符串中指定命名标记,以便HTML易于读取和编辑,如下所示:
"Hello {FirstName},'nPlease visit our site:'n{SiteLink}"
看看这个答案可以找到一些方法:C#中的命名字符串格式。
string customBody = "<a href='"www.oursite.com'">www.oursite.com</a>";
string htmlBody = String.Format("<!DOCTYPE HTML PUBLIC '"-//W3C//DTD HTML 4.0 Transitional//EN'">";
body += "<HTML><HEAD><META http-equiv=Content-Type content='"text/html; charset=iso-8859-1'">";
body += "</HEAD><BODY><DIV>{0}</DIV></BODY></HTML>", customBody);
var message = new MailMessage(from, to);
var mimeType = new System.Net.Mime.ContentType("text/html");
var alternate = AlternateView.CreateAlternateViewFromString(htmlBody, mimeType);
message.AlternateViews.Add(alternate);
message.IsBodyHTML = true;
smtpClient.Send(message);
请参阅MSDN:
- 备选视图
- MailMessage.IsBodyHtml属性
您可以简单地将html代码分配给message body
message.Body = "<b> This is a bold Text </b>";
message.IsBodyHTML = true;
此外,您还可以利用MailDefinition类。请检查此链接以了解此类的用法。
使用来自MailMessage 的isHtmlBody属性
示例:
MailMessage msg = new MailMessage();
msg.Body= "example of <a href='www.something.com'>Link</a>";
msg.IsBodyHtml = True;
...
smtp.send(msg)
参见:
IsBodyHtml属性
示例
string.Format()可能就是您想要的。
string.Format()
将指定字符串中的每个格式项替换为对应对象值的等效文本。
例如
string.Format("Dear {0} {1}, You are {2} today.",
person.Title, person.Lastname, person.Age);