jQuery when()。done()不适合我

我有下面的jQuery代码,但是when().done()对我来说不能正常工作。 updateResultFooter()被称为bedore, doReverseSearch()方法完成了她的工作。 并且因此,我的视图中的按钮被启用,然后在doReverseSearch()方法中replace之后重新获取其默认值(desabled)。

 $("#idBnSearch").click(function () { $.when(doReverseSearch(telValue, pageIndex, methodUrl)) .done(function () { updateResultFooter("@ViewBag.CountResult", pageIndex, "@ViewBag.PageCount"); }); }); function updateResultFooter(resultCount, pageIndex, pageCount) { if (pageIndex == 0) $("#bnPreviousPage").attr('disabled', 'disabled'); else $("#bnPreviousPage").removeAttr('disabled'); if ((pageIndex + 1) == pageCount) $("#bnNextPage").attr('disabled', 'disabled'); else $("#bnNextPage").removeAttr('disabled'); } function doReverseSearch(telValue, pageIdx, methodUrl) { $.ajax( { url: methodUrl, type: 'post', data: JSON.stringify({ Telephone: telValue, pageIndex: pageIdx }), datatype: 'json', contentType: 'application/json; charset=utf-8', success: function (data) { $('#result').replaceWith(data); }, error: function (request, status, err) { alert(status); alert(err); } }); } 

先感谢您