用html字符串中的中断替换回车符

时间:2015-05-06 18:55:07

标签: c# html asp.net

我在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只是为了安全但是只需要回车。我已根据下面标记的答案更正了代码。这是新修正的代码

1 个答案:

答案 0 :(得分:3)

Replace未执行适当的操作。该方法改为返回修改后的字符串的新实例。

您的代码不会将返回值存储在任何位置。尝试设置message变量,如下所示:

string message = txtbxEmailBody.Text
                               .Replace(Environment.NewLine, "<br />")
                               .Replace("\n", "<br />")
                               .Replace("\r", "<br />");