我在asp.net用户控件中有一个多行文本框,用于输入内容以从站点登录发送大量电子邮件。 HTML包含一个占位符{Message},它将从文本框中填充
string message = txtbxEmailBody.Text;
message = message.Replace("\n", "<br />");
message = message.Replace("\r", "<br />");
message = message.Replace(Environment.NewLine, "<br />");
string body = string.Empty;
using (StreamReader welcomeEmailReader = new StreamReader(Server.MapPath("htmlpath")))
{
body = welcomeEmailReader.ReadToEnd();
}
body = body.Replace("{Message}", message);
我把替换为换行换行和环境.NewLine只是为了安全但是只需要回车。我已根据下面标记的答案更正了代码。这是新修正的代码
答案 0 :(得分:3)
Replace
未执行适当的操作。该方法改为返回修改后的字符串的新实例。
您的代码不会将返回值存储在任何位置。尝试设置message
变量,如下所示:
string message = txtbxEmailBody.Text
.Replace(Environment.NewLine, "<br />")
.Replace("\n", "<br />")
.Replace("\r", "<br />");