Asp.net mvc 3 格式化来自联系人表单的消息

Asp.net mvc 3 格式化来自联系人表单的消息,asp.net-mvc-3,Asp.net Mvc 3,我有发送电子邮件的联系方式 model.Message = Sanitizer.GetSafeHtmlFragment(model.Message); //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa" 但是,如果我在文本区域中键入一条长消息,然后单击“提交”,则此消息将在我的电子邮件中以单行显示 model.Message = Sanitizer.GetS

我有发送电子邮件的联系方式

     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
但是,如果我在文本区域中键入一条长消息,然后单击“提交”,则此消息将在我的电子邮件中以单行显示

     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
e、 g如果我在消息文本区域中键入:

My super Mesasge 
My Mesasge Mesasge

From Test.
     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
在我的邮箱中,它将类似于:

My super Mesasge My Mesasge Mesasge From Test.
     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
为什么格式(“/r/n”)会丢失,我如何保留该邮件的格式

     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
更新: 我使用了AntiXSS.4.0.1 e、 g:模型。消息:“sdfsdf\r\nsdfsdf\r\nsdfsdfsdfa”

     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
我做到了:

    model.Message = model.Message.Replace("\r\n", "<br />");
   //result: model.Message="sdfsdf<br />sdfsdf<br />sdfsdfsdafsdfa"
     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
model.Message=model.Message.Replace(“\r\n”和“
”); //结果:model.Message=“sdfsdf
sdfsdf
sdfsdfsdfa”
比:

     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"
model.Message=Sanitizer.GetSafeHtmlFragment(model.Message);
//结果:model.Message=“sdfsdf
\r\nsdfsdf
\r\nsDFSDFA”

那么为什么要重新添加Sanitizer.getSafeThMLFragment\r\n?它也被更改为

,这取决于您发送电子邮件的方式。如果您使用HTML(
message.IsBodyHtml
),那么在填充
message.Body

时,您需要将
\r\n
替换为

,我唯一能想到的是,您的电子邮件格式是HTML,因此,
换行符
应该在

标记或

@jason,我不知道为什么
GetSafeHtmlFragment
方法会为每个

添加
\r\n
,但这应该不会有任何问题,因为它仍然是有效的html。在html中,新行并不重要,如果您使用
IsBodyHtml=true
发送电子邮件,它将按预期工作(即新行将像原始文本区域一样保留)。
     model.Message = Sanitizer.GetSafeHtmlFragment(model.Message);
    //result: model.Message="sdfsdf<br>\r\nsdfsdf<br>\r\nsdfsdfsdafsdfa"