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页面到字符串

您似乎希望能够在单个字符串中指定命名标记,以便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);