我在使用 MVC 项目时遇到问题。我有一些数据存储在 MS SQL 中,我收集服务器端并使用视图模型以表单形式显示。我的视图模型的一个属性是一个最大长度为 255 的字符串。
如果字符串包含前面没有 \r 的 \n 字符,当我在 C# 中收集值并将其显示在表单上时,会自动添加 \r 字符。如果我调试,作为“Test\n\nTest”存储在 SQL 中的字符串会原封不动地变成 C# 字符串,但是在将其放入输入或文本区域后,检查呈现页面的 html,字符串变为“Test\r \n\r\n测试”。
这会导致问题,例如当 SQL 字符串接近最大长度 255 时。有时额外的 \r 字符会将字符串长度推到 255 限制之上,这意味着表单将不再保存。这让用户非常困惑。
到目前为止,我的解决方案是在保存到 SQL 之前删除所有 \r 字符。但这感觉像是一个非常糟糕的解决方案。任何人都可以提出更好的方法来处理这个问题吗?