取り扱いHttpRequestValidationException優雅にASP.net AJAXに対応していますか?
-
09-06-2019 - |
質問
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"マイクロソフトコードです。を見つけましたが解決策についてないのでここに:-)