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接收传递给ajax恰当命名settings变量中的方法的所有设置。

因此,如果您有这样的 AJAX 调用:

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

您可以resultsEleajaxError这样访问:

$(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 回答