处理Asp.net MVC中的会话超时异常

时间:2013-10-15 11:50:55

标签: asp.net-mvc session-timeout application-error

我正在尝试在asp.net MVC4应用程序中处理由于会话超时引起的异常。每当由于会话过期而发生错误时,我只想向用户显示用户友好的jquery dailog。

现在我已实现如下,但它无法正常工作。请帮忙。

步骤1。在Application_Error方法中,我正在检查用户的会话     可用与否。如果会话不可用,请将用户重定向到     错误页面。

protected void Application_Error(object sender, EventArgs e)
{
    if(session["User"] == null)
    {
        Response.Redirect("/Error/ShowSessionExpires");
    }
}

注意 - 在错误控制器中重定向到部分视图“ShowSessionExpires”。

第二步。我在/Error/ShowSessionExpires.cshtml视图中有以下代码,     我在哪里创建并显示一个对话框:

<div id="sessionTimeoutDialog">Sorry, Your session has been expired.</div>

<script type="text/javascript" language="javascript">
    $(document).ready(function () {
    $("#sessionTimeoutDialog").dialog({
                title: "Error",
                autoOpen: false,
                modal: true,
                resizable: false,
                width: "450",
                buttons: {
                    'Close': function () {
                        $(this).dialog("close");
                    }
                }
            });
        $("#sessionTimeoutDialog").dialog("open");
    });
</script>

上面的方法显示了消息,但事情是它没有在jquery对话框窗口中显示它。我怀疑上面的javascript代码没有被执行。所以我在javascript代码中添加了警告(“Hi”),然后进行了测试。我仍然没有得到“嗨”警报。所以似乎javascript代码没有执行。请帮助或建议一些更好的方法。

0 个答案:

没有答案