반응형
현재 컨트롤러보기
에 View - _Edit
사는 사람이 News M/V/C
있습니다.
V/M
via를 다음 CategoryController
과 같이 재사용합니다 .
return PartialView("/Views/News/_Edit.cshtml", model);
어떻게에서 내 View - _Edit
나는 컨트롤러 이름을 알릴 수 있습니까?
내가 할 때 :
alert('@ViewContext. RouteData.Values["controller"].ToString()');
값은 다음과 같습니다. News
그러나 URL은 다음과 같습니다./Category/foobar
가치 'Category'
를 알리는 방법이 있습니까? 감사
나는 이것을 부분적으로 본다.
@HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString()
동일한 상황에서 설명하고 부분 뷰의 실제 위치 대신 URL (범주, 제품)에 설명 된 컨트롤러를 보여줍니다.
대신이 경고를 사용하십시오.
alert('@HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString()');
나는 이것을 이렇게하지만 아마도 ASP.NET MVC 4 일뿐입니다.
@ViewContext.RouteData.Values["controller"]
모든 컨트롤러에 대한 기본 클래스를 작성하고 여기에 name 속성을 넣으십시오.
public abstract class MyBaseController : Controller
{
public abstract string Name { get; }
}
보기
@{
var controller = ViewContext.Controller as MyBaseController;
if (controller != null)
{
@controller.Name
}
}
컨트롤러 예
public class SampleController: MyBaseController
{
public override string Name { get { return "Sample"; }
}
View에서 현재 컨트롤러 이름을 얻는 다른 방법
@ViewContext.Controller.ValueProvider.GetValue("controller").RawValue
그냥 사용하십시오 :
ViewContext.Controller.GetType().Name
이것은 당신에게 전체 컨트롤러의 이름을 줄 것입니다
폴더 에서를 CategoryController
로드하더라도 여전히 컨텍스트에 있습니다 .PartialView
Views/News
아래 코드 중 하나를 사용하여 컨트롤러 이름을 얻을 수 있습니다
@HttpContext.Current.Request.RequestContext.RouteData.Values["controller"].ToString();
MVC 3을 사용하는 경우 사용할 수 있습니다
@ViewContext.Controller.ValueProvider.GetValue("controller").RawValue
참고 URL : https://stackoverflow.com/questions/6852979/get-current-controller-in-view
반응형
'Programing' 카테고리의 다른 글
목록이 정렬되었는지 여부를 확인하는 Pythonic 방법 (0) | 2020.07.08 |
---|---|
확인란이 선택되어 있으면 (0) | 2020.07.08 |
Swift 스위치 명령문보다 작거나 (0) | 2020.07.08 |
이산 x 스케일의 순서 변경 (0) | 2020.07.08 |
비활성화 된 UIButton이 희미하거나 회색이 아닙니다 (0) | 2020.07.08 |