将数据传递给Ajax错误块

时间:2013-09-23 10:24:52

标签: asp.net-mvc asp.net-ajax

我有一个带有以下catch语句的控制器,它返回一个部分视图和要显示的错误。

        catch (Exception ex)
        {
            return PartialView("ErrorPartial", new ErrorModel(ex));
        }

通过像这样的Ajax调用来调用这个控制器......

    $('#myID').ajaxSubmit({
        url: buildUrl('MyController'),
        beforeSubmit: function () {
            toggleOverlay(true, 'Saving...');
        },
        success: function (responseText, statusText, xhr) {
            successSave(responseText, statusText, xhr)
        },
        error: function (jqXHR, textStatus, errorThrown) {
        }
    });

如果捕获到异常,则代码会进入错误块,但是我无法将部分视图数据传递给它。

无论如何,我可以将部分数据传递到错误块吗?如果没有,你可以推荐一个替代方案吗?

谢谢:)

1 个答案:

答案 0 :(得分:0)

您可能正在寻找jqXHR.responseText。但是,对我来说不清楚为什么你的js代码失败进入错误块 - 你已经处理了异常,所以ajax请求应该被认为是成功的,并且应该触发成功函数。这是我的C#代码导致ajax请求失败但传递数据和错误。

Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
return PartialView("SomePartialView", model);