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

时间:2013-10-01 08:53:53

标签: c# sql-server asp.net-mvc

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

如果字符串包含一个没有\ r \ n字符的\ n字符,当我在C#中收集值并将其显示在表单上时,会自动添加\ r字符。如果我调试,存储在SQL中作为“Test \ n \ nTest”的字符串在C#字符串中保持不变,但在将其放入输入或textarea之后,检查呈现页面的html,字符串变为“Test \ r \ n” \ n \ r \ NTEST”。

这会导致问题,例如SQL字符串接近最大长度255.有时,附加的\ r \ n字符将字符串长度推到255限制以上,这意味着表单将不再保存。这对用户来说非常混乱。

到目前为止,我的解决方案是在保存到SQL之前删除所有\ r \ n字符。但这感觉就像一个非常糟糕的解决方案。任何人都可以提出更好的方法来解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

您可以使用:

string newStr = oldStr.Replace("\r\n", "\r");

有关详细信息,请查看此处: String.Replace方法(字符串,字符串) http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx