我想確保QueryString中的特定參數(在本例中爲request_id
)傳播到重定向的操作。在RedirectToAction調用中傳播QueryString參數
比方說,我有一個動作First
,
[HttpPost]
public ActionResult First()
{
////////////////////
// Lots of code ...
////////////////////
return RedirectToAction("Second");
}
現在說了,First
回傳曾在QueryString
一個參數,我想傳遞給Second
行動。這樣做將是在RedirectToAction
調用本身傳遞價值的一種方式,
string requestId = Request.QueryString[REQUEST_ID_KEY];
return RedirectToAction("Second", new { REQUEST_ID_KEY = requestId });
但我不得不這樣做的一系列動作的,我不願意納入行動中請求ID傳播邏輯。如果我可以將它合併到ActionFilter
中會更好,但我無法弄清楚如何將參數從ActionFilter添加到QueryString中。有任何想法嗎?
@Darin ..只是爲了知識..我可以知道這個實現優於Session或TempData的優點嗎? – 2012-03-27 06:52:38
@alok_dida,TempData在幕後使用Session。我個人從未在我的應用程序中使用Session。我更喜歡用無狀態和REST風格的方式來設計它們。所以,因爲我在web.config('')中禁用了會話,所以Session和TempData不適用於我。 –
2012-03-27 06:55:10
@Darin .. Oks。還有一個問題(我希望你不會因爲我的一堆問題而煩惱),我正在實現一個使用表單身份驗證的應用程序。我想通過應用程序保持登錄用戶的「用戶ID」。我如何在不使用Session的情況下實現這個場景?我正在使用MVC 3. – 2012-03-27 07:39:07