C#将SQL字符串从\n转换为\r\n

C#将SQL字符串从\n转换为\r\n,c#,sql-server,asp.net-mvc,C#,Sql Server,Asp.net Mvc,我在MVC项目中遇到了问题。我在MSSQL中存储了一些数据,我在服务器端收集这些数据,并使用视图模型将其显示在表单中。我的视图模型的一个属性是最大长度为255的字符串 如果字符串包含一个\n字符,但前面没有\r,则当我在C#中收集值并将其显示在表单上时,\r会自动添加一个字符。如果我调试,SQL中存储为“Test\n\nTest”的字符串将以C#字符串的形式出现,但在将其放入输入或文本区域,检查呈现页面的html后,该字符串将变为“Test\r\n\r\nTest” 例如,当SQL字符串接近最大

我在MVC项目中遇到了问题。我在MSSQL中存储了一些数据,我在服务器端收集这些数据,并使用视图模型将其显示在表单中。我的视图模型的一个属性是最大长度为255的字符串

如果字符串包含一个\n字符,但前面没有\r,则当我在C#中收集值并将其显示在表单上时,\r会自动添加一个字符。如果我调试,SQL中存储为“Test\n\nTest”的字符串将以C#字符串的形式出现,但在将其放入输入或文本区域,检查呈现页面的html后,该字符串将变为“Test\r\n\r\nTest”

例如,当SQL字符串接近最大长度255时,这会导致问题。有时,附加字符会使字符串长度超过255限制,这意味着表单将不再保存。这对用户来说非常混乱

到目前为止,我的解决方案是在保存到SQL之前删除所有\r字符。但这似乎是一个非常糟糕的解决方案。有人能提出更好的解决方法吗?

您可以使用:

string newStr = oldStr.Replace("\r\n", "\r");
有关更多信息,请参见此处:String.Replace方法(String,String)