2012-07-04 44 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另外,如果您對實現有某些具體問題,則應該毫不猶豫地展示你迄今的進展,並解釋你遇到的困難。菲爾·哈克解釋得很好。 –

相關問題