文字列のエンコードに問題があります。おそらく iis の問題か、私が見落としているものです。基本的にランダムに、ユーザーが変更をコミットすると、私のデコードを完全に無視しているかのように、テキストが %20 と共に保存されます。ローカルホスト、ライブ、または任意のブラウザーで発生することはありません。一貫性がなく、何が問題なのかをテストする方法さえ知りません。
基本的な部分を貼り付けるだけです:
ユーザー入力を受け入れるテキスト コントロール
<asp:TextBox TextMode="MultiLine" runat="server" txtActionUpdate"></asp:TextBox>
それから
Javascript を「エスケープ」して ajax メソッドに渡し、codebehind に送信する
var tAction = escape(document.getElementById("txtActionUpdate").value);
それから
webmethod では、次のようにデコードします。
Test = Microsoft.JScript.GlobalObject.unescape(tAction);
(以前は: Test = HttpUtility.UrlDecode(tAction); )
それでもなお、上記の両方のデコードオプションは完全に機能します (私にとっては?)。しかし、ランダムに、ユーザーがそれに取り組んでいるとき、デコードステップを文字通り「スキップ」し、エンコードされた形式でDBに書き込むだけです(つまり、this%20is%20a%20Test%20string)。コード。
複数の顧客 (個別の URL) がありますが、コード ベースは 1 つです。公開中、私は最初に削除してから公開し、アプリプールをクリアし、ユーザーにブラウザキャッシュをクリアさせます (後者は実際には嫌いです) が、これは決して一貫していないようです。これは、コードの問題ではなく、「キャッシュ」または「サーバー設定」の問題であると感じています...見た目が悪くなります! ;) 笑。予感した人いますか?