1

base.master にグローバルな ajaxError イベントがあります。このようなものです。

$(document).ajaxError(function(event, request, settings,thrownError) {
    $("#results").append( "<li>some error msg.</li>" );
    });

しかし、「#results」は使いたくありません。ダイナミックにしたい。update-target要素に常にエラーメッセージを表示する関数が欲しいです。エラー イベントで ajax 呼び出しから使用された UpdateTarget Id を見つけるにはどうすればよいですか? ありがとう。

using (Ajax.BeginForm("action", null, 
           new AjaxOptions { 
           UpdateTargetId = "results", <--find this element in my error event
           LoadingElementId = "loading", 
4

1 に答える 1

1

私は ASP に詳しくありませんが、適切な名前の変数でメソッドにajaxError渡されるすべての設定を受け取ります。ajaxsettings

したがって、次のような AJAX 呼び出しがある場合:

$.ajax({
    url: '/some/url.asp',
    data: myData,
    resultsEle: $('#myResults')
});

resultsEle次のajaxErrorようにアクセスできます。

$(document).ajaxError(function(event, request, settings, thrownError) {
    settings.resultsEle.append( "<li>some error msg.</li>" );
});

繰り返しますが、ASP コードで AJAX メソッドを呼び出す方法に慣れていませんが、次の方法で要素にアクセスできると思います。

$(document).ajaxError(function(event, request, settings, thrownError) {
    $('#'+settings.UpdateTargetId).append( "<li>some error msg.</li>" );
});
于 2013-04-11T19:15:47.467 に答える