0

我正在为 asp.net MVC3 Razor 视图工作。我创建了基于每次单击左侧菜单的动态加载选项卡。

还有我的jQuery:

var form = $("ul#autotab li").click(function () {

                $tabs = $("#tabs").tabs({
                    tabTemplate: "<li id='" + tab_title + "'><a href='#{href}'>#{label}</a> <span class='ui-icon1 ui-icon-close'>x</span></li>",
                    add: $.ajax({
                        type: "GET",
                        url:'/Product/GetDetailsForTab/',
                        success: function (result) {
                            $("#tabs" + counter).html(result);
                        }
                    })
                });
                $tabs.tabs("add", "#tabs" + tab_counter, tab_title);
            }

在这里,如果我单击左侧菜单之一,我想检查用户是否在 jquery 选项卡功能中授权。如果用户未授权意味着它应该重定向默认登录页面。'/Product/GetDetailsForTab/'我已经在ActionResult中设置了 Authorize 属性。

上面的代码正在运行,但问题是,如果未经授权,它将重定向一个带有标签内容的登录页面。在这里,我需要在新窗口中重定向页面而不是标签内容区域。

谢谢,

4

1 回答 1

2

您可以查看 Phil Haack 的以下博客文章。在其中他说明了一个很好的解决方案,它允许您防止表单身份验证模块在 AJAX 请求的情况下重定向到登录页面,但返回一个真实的 401 状态代码,您可以在客户端脚本中拦截并采取相应的行动。

于 2012-07-04T10:18:58.200 回答