2014-01-23 2 views
0

입니다. 요청한 작업 이름은 HttpContext.Request에서 다시 검색 할 수 있습니다. 나는 이미 내가 HttpContext.Request.UrlReferrer을 얻을 수 있다는 것을 알고 있지만, 나는 이전의 행동이 무엇인지 알고 싶다.요청이 오는 작업 이름은

답변

1

TempData 또는 HiddenFields를 사용하고 이전 컨트롤러 및 동작을 저장해야합니다. 요청 개체가 이전 동작 및 컨트롤러를 추적하기 위해 (UrlReferer 제외) 아무 것도 보유하지 않습니다.

UrlReferer에서 일부 문자열 조작을 수행하여 구문 분석하고 이전 컨트롤러 동작을 알 수 있습니다. 그러나 나는 그런 식으로 제안하지 않을 것이다. UrlReferer가 쉽게 조작 할 수 있음을 기억하십시오.

TempData를 사용하는 것은 서버가 개별 요청에 대한 데이터를 추적하는 한 가지 방법입니다. HiddenFields를 사용하여 동일한 정보를 저장할 수도 있습니다. 그러나 TempData와 HiddenFields 사이의 결정은이 (이전 컨트롤러 및 작업) 정보가 응용 프로그램에 대해 얼마나 안전하고 중요한지에 근거하여 수행됩니다. 당신 사이

사용하여 현재 작업 및 컨트롤러 값을 얻을 수 있습니다 -

ControllerContext.RouteData.Values["Controller"]; 
ControllerContext.RouteData.Values["Action"]; 
관련 문제