2014-07-17 113 views
0

感謝大家閱讀我的話題。但我需要你的幫助! 我有一個Asp.NET MVC Action的問題。需要登錄才能做出動作

在主頁。我有一個鏈接重定向到一個動作調用checkTicket(),但需要登錄。

所以,在checkTicket()方法中。我正在使用以下代碼來檢查批准:

if (Request.IsAuthenticated) 
{ 
    return View(); 
} 
else 
{ 
    return RedirectToAction("Login", "Account"); 
} 

但是在操作中登錄帳戶控制器。我怎樣才能返回checkTicket的View()?

這是我想要的東西。 主頁(點擊) - > checkTicket(要求) - >登錄(返回) - > checkTicket()

回答

0

創建一個設置cookie,讓你知道用戶想要checkticket但沒有登錄:

if (Request.IsAuthenticated) 
{ 
    return View(); 
} 
    else 
{ 
    //The cookie's name is UserSettings 
    HttpCookie myCookie = new HttpCookie("UserSettings"); 

    //The subvalue of checkticket is = true 
    myCookie["checkticket"] = "true"; 

    //The cookie expires 1 day from now 
    myCookie.Expires = DateTime.Now.AddDays(1d); 

    //Add the cookie to the response 
    Response.Cookies.Add(myCookie); 

    return RedirectToAction("Login", "Account"); 
} 

然後在你的登錄操作,檢查是否存在像這樣的餅乾:

if (Request.Cookies["UserSettings"] != null) 
{ 
    string userSettings; 
    if (Request.Cookies["UserSettings"]["checkticket"] != null) 
    { 
     userSettings = Request.Cookies["UserSettings"]["checkticket"]; 
    } 

    if(userSettings) { 
     //redirect to checkticket 
    } else { 
     // redirect to your normal view 
    } 
} 

* MSDN的代碼禮貌:write cookieread cookie

+0

感謝FO r你的幫助:) 美好的一天兄弟 – user2165201

+0

不客氣@ user2165201 – Zac

相關問題