2009-08-05 7 views
1

ASP.NET MVC 프레임 워크에 컨트롤러 이름과 작업 이름을 나타내는 클래스가 있습니까?컨트롤러 + 액션 세트를 나타내는 ASP.NET MVC 클래스?

URL 컬렉션을 반환하는 메소드를 작성 중이며 '컨트롤러'및 '액션'속성 또는 이와 유사한 객체가 포함 된 객체로 반환되기를 바랍니다.

가끔 컨트롤러 이름이나 동작 이름 만 분리해야하기 때문입니다.

Route 개체가 있지만 너무 무거워 보입니다.

ASP.NET MVC에서 더 간단한 추상화가 있습니까?

답변

2

이름이 아닌 Controller Base 클래스가 있지만 액션 이름은 ActionInvoker가 리플렉션을 통해 올바른 액션을 찾는 데 사용할 문자열입니다.

키/값 쌍 Route Values Dictionary을 사용해야 만 경로를 나타낼 것으로 생각됩니다.

RouteValueDictionary myValues = new RouteValueDictionary(); 
myValues.Add("Controller", "myController"); 

당신은 일반적인 사전을 사용하고 싶지 않은 경우 다음 라우팅 네임 스페이스에 액세스 할 수 없습니다/A RouteValueDictionary에 코드를 변환 할 수 있습니다.

이 방법에서는 표준 사전이나 routeValue 사전의 키를 사용하여 컨트롤러 나 동작을 분리 할 수 ​​있습니다.

String ControlString = myValues["Controller"] 

그런 다음 원하는대로하십시오. 어쩌면 액세스하려는 키에 상수를 사용할 수 있습니다.