2015-05-28 52 views
1

我有一個MVC應用程序,我正在使用MVC控制器來處理登錄和註銷。當我嘗試註銷時,我在我的MVC帳戶控制器上調用LogOff操作,該控制器重定向到此控制器上的登錄操作。我沒有問題調用此代碼,並且登錄操作似乎運行成功。然而,這個行動的最後一行是從角度服務重定向到MVC控制器

return View(); 

我可以看到我的屏幕閃光,就好像它正在繪製一個新的頁面。不過,我仍然可以在我的瀏覽器中看到http://localhost:60847/#/home而不是http://localhost:60847/Account/Login

有什麼我需要添加到路由,以便它可以處理MVC地址?目前,我的路由如下:

$routeProvider.when("/home", { 
    //controller: "homeController", 
    templateUrl: "app/layout/home.html" 
}); 

$routeProvider.otherwise({ redirectTo: "/home" }); 

在此先感謝!

回答

1

我擡頭看了幾個地方,並得出結論說,解決這個問題的一個選項是僅從超鏈接調用此操作,幷包含target =「_ self」。我仍然可以在超鏈接上添加ng-click屬性,並在角度控制器中調用代碼。這不是我想要做的,因爲我想從我的角度控制器而不是從超鏈接進行調用,但它會起作用。

我使用的代碼如下:

using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm" })) 
{ 
    @Html.AntiForgeryToken() 
    <ul data-ng-controller="accountController as acctCtrl"> 
     <li><a data-ng-click="acctCtrl.logout()" href="javascript:document.getElementById('logoutForm').submit()" target="_self">Log off</a></li> 
    </ul> 
} 
相關問題