2012-02-13 9 views
0

url에서 컨트롤러 이름을 생략하기 위해 route to table에 새로운 경로를 추가했습니다. 모든 것이 런타임에는 잘 작동하지만 디자인 타임에는 Intellisense가 @Html.ActionLink("Label", "MyActionName") 메서드를 사용할 때 찾지 못했던 Intellisense에서 액션 (MyActionName 내 데모)을 발견하지 못했습니다. Intellisense의 정상적인 동작입니까?Intellisense가 작업을 찾지 못함

routes.MapRoute(
    "Custom", 
    "{action}/{id}", 
    new { controller = "Home", action = "Index", id = UrlParameter.Optional } 

); 
+0

Intelisence는 ActionLink 메소드를 입력 할 때 액션에 대한 제안을하지만 위의 경우에는 그렇지 않습니다. – Tomas

답변

0

질문이 이해가 가지 않습니다. Intellisense가 표시되지 않는 방법은 무엇입니까? 이 경우 당신이보기에 @Html.를 입력 할 때 당신은 단지 ActionLink 도우미에 대한 인텔리을 기대할 수 있습니다 그것은 당신이 상자 밖으로 희망 할 수있는 최선의 방법 :

enter image description here

이 방법의 인수가 단지 마법 문자열 , Intellisense에 나타나지 않을 것을 기대하십시오.

당신은 강력한 입력을 원하고 당신이 수행 할 수 있습니다이 도우미의 강력한 형식의 버전을 제공하거나 MVCContrib 사용할 수 인텔리 경우 : 나를 위해

@Html.ActionLink("label", T4MVC.Home.MyActionName()) 
0

:

@(Html.ActionLink<HomeController>(x => x.MyActionName(), "label")) 

또는 T4MVC을 Intellisense는 작업을 위해 일한 적이 없으므로 컨트롤러 이름을 먼저 쓰고 그 컨트롤러 내에서 사용할 수있는 모든 작업에 대해 전체 인텔리 센스를 얻습니다.

@Html.ActionLink("Link text","","Home") 

은 위의 경우 그냥 액션 ","빈 문자열을 넣어 쉼표 후 내 컨트롤러에 대한 전체 인텔리을 얻었다. 내 컨트롤러 이름을 쓰거나 선택한 후 동작 이름에 대한 인용 부호 사이를 클릭하면 지정된 컨트롤러 (위 코드에서 Home)에서 사용할 수있는 작업에 대해 전체 인텔리 센스를 얻습니다.

나는 그게 최선의 방법은 아니지만 그게 나를 위해 일하고 있는지 잘 모르겠다.

관련 문제