取り扱いHttpRequestValidationException優雅にASP.net AJAXに対応していますか?

StackOverflow https://stackoverflow.com/questions/47864

質問

ValidateEventsはASP.net 機能が、黄色の画面の死がこんなに素敵です。この方法の取り扱い方HttpRequestValidationException優雅に こちらの, ものにしている時は、実行できませんASP.net AJAXいます。

基本的には、私UpdatePanelとテキストボックス、ボタンのユーザータイプのHTMLテキスト入力欄の場合は、JavaScriptのポップアップとエラーメッセージを言わないの変更に応答を出します。

なかには、どうするのがベストな対応HttpRequestValidationException優雅に?通常のご要望んで表示エラーメッセージがでAJAXを請求い捨ての要求、ある誤差をできるようにフロントエンドページに反応するのですか?

役に立ちましたか?

解決

では、 bloggedで.基本的には、EndRequestHandlerを検査します。set_errorHandledはともだちこちらです。

<script type="text/javascript" language="javascript">
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(EndRequestHandler);

function EndRequestHandler(sender, args) {
    if (args.get_error() != undefined)
    {
        var errorMessage;
        if (args.get_response().get_statusCode() == '200')
        {
            errorMessage = args.get_error().message;
        }
        else
        {
            // Error occurred somewhere other than the server page.
            errorMessage = 'An unspecified error occurred. ';
        }
        args.set_errorHandled(true);
        $get('<%= this.newsletterLabel.ClientID %>').innerHTML = errorMessage;
    }
}
</script>

他のヒント

hmmmmうすべての何らかのwebブラウザでJavaScriptの実行をチェックのためのhtmlの入力またはクライアント側のバリデータ.

そんな思いをするよう可能な場合は、このような複雑なります。

通常、皆さんの助言をAsyncPostBackErrorのScriptManagerが、これは動作しない場合は、グローバルasax.残念ながらHttpRequestValidationExceptionが放出されるランタイム時において、ることはありませんが私のコードさせることができません(おおみねおくがけみちのApplication_Error.

であり、実際には、JavaScriptればいいのがあり方を追加する"フック"のようにBeginRequestHandler機能ようになっている"hack"マイクロソフトコードです。を見つけましたが解決策についてないのでここに:-)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top