0

私はasp.netMVC3Razorviewで働いています。左メニューをクリックするたびにタブを動的にロードするために作成しました。

そして私の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);
            }

ここで、左側のメニューの1つをクリックすると、jqueryタブでユーザーが承認されているかどうかを確認したいと思います。ユーザーが承認されていない場合は、デフォルトのログインページをリダイレクトする必要があることを意味します。'/Product/GetDetailsForTab/'ActionResultでAuthorize属性をすでに設定しています。

上記のコードは機能していますが、問題は、許可されていない場合、タブのコンテンツを含むログインページをリダイレクトすることです。ここでは、タブのコンテンツ領域ではなく、新しいウィンドウでページをリダイレクトする必要があります。

ありがとう、

4

1 に答える 1

2

Phil Haackの次のブログ投稿をご覧ください。その中で彼は、AJAX 要求の場合にフォーム認証モジュールがログオン ページにリダイレクトするのを防ぎ、実際の 401 ステータス コードを返すことを可能にする優れたソリューションを示しています。

于 2012-07-04T10:18:58.200 に答える