0

我有一个带有以下 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) {
        }
    });

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

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

谢谢 :)

4

1 回答 1

0

您可能正在寻找jqXHR.responseText. 但是,我不太清楚为什么您的 js 代码会失败进入错误块 - 您已经处理了异常,因此应该将 ajax 请求视为成功并且应该触发成功函数。这是我的 C# 代码,它导致 ajax 请求失败,但将数据与错误一起传递。

Response.StatusCode = (int)System.Net.HttpStatusCode.BadRequest;
return PartialView("SomePartialView", model);
于 2013-11-02T14:47:19.430 回答