2012-07-04 59 views
0

我正在为asp.net MVC3 Razor视图工作。我创建了基于每次点击左侧菜单来动态加载标签。如何检查用户是否授权在客户端使用JQuery?

而且我的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中设置了授权属性。

上面的代码正在工作,但问题是,如果没有授权手段, ,它会重定向一个登录页面与标签内容。在这里,我需要在新窗口中重定向页面,而不是标签内容区域。

感谢,

回答

2

你可以看看的following blog post从菲尔哈克。在其中,他演示了一个很好的解决方案,它允许您防止表单身份验证模块在AJAX请求的情况下重定向到LogOn页面,但会返回一个真实的401状态代码,您可以在客户端脚本中拦截并执行相应的操作。

+0

我看到了你提到的博文。我认为它更接近我,我是新的MVC3和JQuery的东西,所以我无法理解完整的帖子。你能提供一些代码吗?谢谢, – user10489

+0

我无法为您提供比Phil Haack的博客文章中已经解释的代码更多的代码。这就是你需要的。如果您无法理解此代码,我建议您从文档中开始阅读关于jQuery的一些入门教程:http://docs.jquery.com/Main_Page另外,如果您对实现有某些具体问题,则应该毫不犹豫地展示你迄今的进展,并解释你遇到的困难。菲尔·哈克解释得很好。 –

相关问题