2013-07-01 34 views
2

我創建了一個.cs文件,我正在檢查會話值。
我使用類似下面
MVC 4代碼文件(.cs)重定向到一個操作

HttpContext.Current.Session["usrprof"] 

這是寫在一個簡單的cs文件會話。
如果我在控制,但我可以用它在正常.cs文件
我可以使用重定向到行動,如果我沒有在會議

if (HttpContext.Current.Session["usrprof"] == null) 
//redirect to action. 

回答

2

您可以簡單地使用重定向得到任何東西,我可以使用從Response對象

if (HttpContext.Current.Session["usrprof"] == null) 
{ 
    HttpContext.Response.Redirect("/Controller/Action"); 
} 

希望它在你的CS文件有助於

0

您可以使用Session,是的,只要你有機會獲得Session對象。

要使用RedirectoAction你可以這樣做:

public ActionResult TestMethod() 
{ 
    if (HttpContext.Current.Session["usrprof"] == null) { 
     return RedirectToAction("Index"); 
    } 

    return View(); 
} 

這將檢查是否usrprofnull,如果是他們重定向到Index(或者你的看法)。否則,如果userprof不是null,則返回默認視圖。

+0

他不在控制器... –

+0

我已經創建了一個單獨的類文件來處理所有的會話值。現在我可以在.cs文件中使用RedirectToAction(「」)了嗎? –

+0

@Shekhar - 這樣做通常是一個壞主意。爲什麼?因爲你現在有「意大利麪代碼」。如果您開始在某個呼叫樹中重定向,您可能無法輕鬆找出它在哪裏執行操作。這就是爲什麼你應該遵循軟件開發的「一個入口,一個出口」規則。如果您需要重定向,則發送一些備份調用鏈來通知重定向的操作方法。 –

0

HttpContext.Current是一個可用於所有代碼的靜態 - 當不在web上下文(即Web應用程序)下運行時將爲空。

0

,如果你想從cs文件重定向你必須從響應對象重定向如下圖所示的代碼

HttpContext.Current.Response.Redirect(~/Account/Login, true); 

在上面的代碼帳戶是Controller名是登錄是Action

相關問題