現在、一連のASPクラシックページを新しいMVCベースのイントラネットに転送しています。重要な機能の変更は行っていませんが、UIの改善とベストプラクティスをいくつか行っています。ただし、これは特殊文字に関する問題を引き起こします。
1つのセクションは、臨床テストのドロップダウンリストで機能し、テスト名のクエリ文字列を介してGETSします。ただし、ASP.netのHTMLEncodingは過度に攻撃的です(UTF-8であるにもかかわらず、広範囲の文字をエンコードしています)。これにより、HTMLエンコードされた文字がURLエンコードされ、全体が「潜在的に危険な要求」エラーをスローします。
テスト名をHTMLEncodeできませんでした。これを変更するためのアクセス権を持つユーザーは非常に限られていますが、それは私が始めたいパスではありません。
これにより、文字列のエンコードを解除してから再エンコードする必要がありますが、JavaScriptにはネイティブのHTMLDecode関数がありません。文字の長いリストを取得して文字列を置換するのではなく、HTMLエンコードされた文字からパーセントエンコードされた文字に直接移行する簡単な方法があるかどうか、つまり&xxx;の行に沿って何かをデコードして再エンコードするのではないかと思いました。=%(xxx / 2)