Chcę się upewnić, że określony parametr w QueryString, w moim przypadku request_id
jest propagowany do przekierowanej akcji.Propagowanie parametru QueryString w wywołaniach RedirectToAction
Powiedz na przykład mam Akcja First
,
[HttpPost]
public ActionResult First()
{
////////////////////
// Lots of code ...
////////////////////
return RedirectToAction("Second");
}
teraz mówić, że First
postback miał parametr w QueryString
, co chciałbym przekazać do działania Second
. Jednym ze sposobów byłoby przekazać wartość w samej rozmowy RedirectToAction
,
string requestId = Request.QueryString[REQUEST_ID_KEY];
return RedirectToAction("Second", new { REQUEST_ID_KEY = requestId });
Ale muszę to zrobić w szeregu działań i jestem niechętny, aby włączyć logikę propagacji prośba id wewnątrz działania. Byłoby lepiej, gdybym mógł włączyć to wewnątrz ActionFilter
, ale nie mogę dowiedzieć się, jak dodać parametry do QueryString z ActionFilter. Jakieś pomysły?
@ Darin .. Tylko dla wiedzy .. Czy mogę wiedzieć, jaka jest zaleta tego wdrożenia w stosunku do Session lub TempData? –
@alok_dida, TempData używa sesji za kulisami. Osobiście nigdy nie używam Sesji w moich aplikacjach. Wolę projektować je w sposób bezpaństwowy i relaksujący. Odkąd wyłączam sesję w web.config (' '), Cóż, Sesja i TempData nie dotyczą mnie. –
@Darin .. Oks. Jeszcze jedno pytanie (mam nadzieję, że nie drażni mnie moja paczka pytań), wdrażam jedną aplikację, która korzysta z uwierzytelniania formularza. Chcę zachować "UserID" zalogowanego użytkownika przez całą aplikację. Jak mogę wdrożyć ten scenariusz bez korzystania z sesji? Używam MVC 3. –