2014-02-24 48 views
0

我希望用戶在單擊鏈接時被重定向到LogOff視圖,但是根據某些情況logOff行爲不同。以下是MVC4代碼:return View();在執行FormsAuthentication.SignOut()後不起作用

[AllowAnonymous] 
public ActionResult LogOff() 
{ 

    FormsAuthentication.SignOut(); 

    if (<somecondition>) 
    { 
    return View(); 
    } 
    else 
    { 
    return Redirect(<someURL>); 
    } 
} 

現在,「FormsAuthentication.SignOut()」後,如果條件爲真,則返回視圖不工作,並拋出錯誤。但是,如果條件爲false,則重定向將按預期工作。

問題:如果我們已經註銷,View是行不通的嗎?

謝謝。

+0

當你使用'return View();'的時候會出現什麼錯誤? –

+0

錯誤是「無法用[]對'System.Dynamic.DynamicObject'類型的表達式應用索引」 – TechTurtle

+0

當您返回視圖時某種'ViewBag' /'ViewData'對象是否可能未初始化? –

回答

0

我認爲這是預期的行爲,如果你想從授權

覆蓋 LogOff視圖

添加到您的配置文件,包含LogOff視圖查看文件夾給正確的路徑。

<location path="Views/LogOff"> 
    <system.web> 
     <authorization> 
     <allow users="*" /> 
     </authorization> 
    </system.web> 
    </location> 
+0

對不起,我不明白這一點。爲什麼我應該重寫?目前我正在使用「重定向」方法重定向。 – TechTurtle