보기를 호출하는 데 사용되는 컨트롤러 동작의 이름에 따라 일부 논리를 내보기에 코딩하고 싶습니다. 이 이름을 알 수있는 방법이 있습니까?MVC3에서 내 뷰를 호출 한 컨트롤러 동작의 이름을 어떻게 알 수 있습니까?
누군가가 나를 도와 줄 수 있기를 바랍니다. MVC3을 사용하고 있습니다.
보기를 호출하는 데 사용되는 컨트롤러 동작의 이름에 따라 일부 논리를 내보기에 코딩하고 싶습니다. 이 이름을 알 수있는 방법이 있습니까?MVC3에서 내 뷰를 호출 한 컨트롤러 동작의 이름을 어떻게 알 수 있습니까?
누군가가 나를 도와 줄 수 있기를 바랍니다. MVC3을 사용하고 있습니다.
내가 here 것을 발견 작업
@ViewContext.Controller.ValueProvider.GetValue("action").RawValue
의 이름을 가져옵니다 컨트롤러
@ViewContext.Controller.ValueProvider.GetValue("controller").RawValue
의 이름을 가져옵니다.
ViewContext.RouteData.Values["action"]
이 사용될 수 있지만,보기가 그러한 것을 결정하게하는 것은 좋지 않습니다. 표시 및 편집기 템플리트를 사용하여 다른보기를 생성 한 다음 조치가 해당보기를 선택할 수 있습니다. 뷰는 매우 단순해야하며 ViewData 또는 해당 모델을 통해 수신되는 데이터에 의존해야합니다. 무엇보다이 작품하는 동안, 나는 조금 세련이다 좋을 것 컨트롤러가 동작
+1에 동의하는 "나쁜 선택"에 +1 –
@ViewContext.RouteData.Values["Controller"]
@ViewContext.RouteData.Values["Action"]
와 differenciate 일부 전망을 그런 일을 결정하게합니다. 개인적으로 ViewModel에 이러한 옵션을 플래그로 추가하고이를 내보기로 전달합니다.
"반드시 액션 이름 가져 오기"란 뜻이 아닙니까? –
고정되어 있습니다. 실수였습니다. –