0

MVC プロジェクトで問題が発生しています。サーバー側で収集し、ビューモデルを使用してフォームに表示するMS SQLに保存されたデータがあります。ビュー モデルの 1 つのプロパティは、最大長が 255 の文字列です。

文字列に \r の前に \n 文字が含まれている場合、C# で値を収集してフォームに表示すると、\r 文字が自動的に追加されます。デバッグすると、SQL に "Test\n\nTest" として格納された文字列がそのまま C# 文字列に出力されますが、これを入力領域またはテキスト領域に配置し、レンダリングされたページの html を調べると、文字列は "Test\r \n\r\nテスト".

これは、たとえば SQL 文字列が最大長の 255 に近い場合に問題を引き起こします。追加の \r 文字によって、文字列の長さが 255 の制限を超える場合があり、フォームが保存されなくなることがあります。これはユーザーにとって非常に混乱を招きます。

これまでの私の解決策は、SQL に保存する直前にすべての \r 文字を削除することです。しかし、これは非常に貧弱な解決策のように感じます。誰でもこれを処理するより良い方法を提案できますか?

4

1 に答える 1

0

あなたが使用することができます:

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

詳細については、こちらを参照してください: String.Replace メソッド (文字列、文字列) http://msdn.microsoft.com/en-us/library/fk49wtc1.aspx

于 2013-10-01T08:59:31.817 に答える