1

< b>TextBoxにまたは(「<」の後にスペースを入れずに)のようなhtmlタグを入力< test>すると、フォームを送信すると問題が発生します。

Sys.WebForms.PageRequestManagerServerErrorException:サーバーでのリクエストの処理中に不明なエラーが発生しました。

サーバーから返されたステータスコードは次のとおりです:500

セキュリティ上の問題があるため、「ValidateRequest」をfalseに設定したくありません。

「<」の後にスペースを挿入するようなJavaScript関数を作成することで、これは機能する可能性があると思いました...私は推測します。

何か案が?

4

2 に答える 2

2

ポストバックする前に、javascriptを使用して入力をエスケープできます。

既存の回答を参照してください:

C#側ではHttpUtility.HtmlDecode(string)、テキストをデコードして戻すために使用します。

于 2013-02-05T13:56:34.537 に答える
1

以下に示すように、JavaScript(jQuery)を使用してHTMLコンテンツをエスケープ/エスケープ解除できます。

<script>
    function htmlEncode(value) {
        return $('<div/>').text(value).html();
    }

    function htmlDecode(value) {
        return $('<div/>').html(value).text();
    }
</script>
于 2013-02-05T14:16:15.950 に答える