在javascript加载的局部视图MVC中发生错误时,重定向到错误页面

时间:2014-05-22 09:44:38

标签: javascript asp.net-mvc model-view-controller view partial

我有一个项目,在这个项目中我有一个组合框。在此组合框中,用户可以选择创建新的时间轴或编辑现有的时间轴。

根据选择的内容,在div中加载不同的局部视图。

function loadTimeRoster() {
    var ID = comboboxTimeRoster.options[comboboxTimeRoster.selectedIndex].value;

    if (ID == 0) {
        url = '/TimeRoster/Create/';
    }
    else {
        url = '/TimeRoster/Edit/?Id=' + ID;
    }

    $('#partial').load(url);
}

如果加载的局部视图中发生错误,我希望将用户重定向到我的自定义错误页面,其中包含错误代码,以便我可以记录它。

当普通视图发生错误时,我可以将用户重定向到自定义错误页面,因为我已在web.config中进行了设置:

<customErrors mode="On" defaultRedirect="Error">
    <error statusCode="404" redirect="Spoorloos"/>
</customErrors>

1 个答案:

答案 0 :(得分:0)

我首先使用javascript方式,但很难从中获取错误。

这就是为什么我在web.config中使用自定义错误并且更改了函数'Application_Error'以便我手动重定向每个错误的原因。这也让我可以选择记录异常。

    protected void Application_Error(object sender, EventArgs e)
    {
        Exception exc = Server.GetLastError();

        ExceptionUtility.LogException(exc, "DefaultPage");
        ExceptionUtility.MailException(exc, extraGegevens);

        Response.Redirect("~/Error/Error");
    }