2012-10-10 4 views
0

액션을 체크인하는 방법을 궁금합니다.보기에서 내가 POST했습니다. 작업이 완료된 후 같은보기로 돌아갈 수 있습니다.MVC 3에서 View POST가 작성된 코드에서 어떻게 감지합니까?

등 :

액션이 (같은 조치로 리디렉션 수있는 여러 가지 뷰에서) 그 동적 인 경우
if (enteredfromView1) 
{ 
    return RedirectToAction("View1","Controller"); 
} 
else 
    return RedirectToAction ("View2","Controller"); 
+0

URL을 통해 변수를 전달해도 괜찮습니까? –

답변

2

Request.UrlReferrer를 사용하여이를 구현할 수 있습니다.

public ActionResult TryMeOut() 
{ 
    TempData["ReturnPath"] = Request.UrlReferrer.ToString(); 
    //return your users to the correct view. 
} 

귀하가 찾고있는 것이 아닌 경우이 게시물을 살펴보십시오. 아마도 이것이 당신을 도울 것입니다 : Obtain View name in Controller, ASP.NET MVC

+0

이 솔루션을 구현했지만 3 가지 모두 작동합니다. 감사합니다. – Goran303

+0

도와 줘서 기뻐요! –

0

, 당신은 요청의 UrlReferrer 속성을 사용할 수 있습니다. 자세한 내용은 MSDN site에서 확인할 수 있습니다. 대신 Redirect("URL")을 구현하거나 URL을 구문 분석하여 컨트롤러 및보기를 유추해야합니다.

0

보기 이름을 나타내는 양식에 숨겨진 입력을 추가하십시오.

<input type="hidden" id="ViewName" name="ViewName" value="View1" /> 

그런 다음 조치로 Request.Form["ViewName"]을 검색하십시오.

string viewName = Request.Form["ViewName"]; 

switch (viewName) 
{ 
    case "View1": 
     return RedirectToAction("View1","Controller"); 

    case "View2": 
     return RedirectToAction("View2","Controller"); 

    // ... 

    default: 
     return RedirectToAction("SomeDefault", "Controller"); 
}  
관련 문제