2009-03-05 5 views
3

보기 엔진으로 NHaml을 사용하여 .Net 2.0 용 LightWeight MVC를 작성하려고합니다.ASP.Net MVC ActionLink는 어떻게 작동합니까?

ASP.Net 3.5 MVC에서 코드 조각으로 링크를 지정하는 데 사용한 View 파일.

Html.ActionLink("Add Product","Add"); 

이 호출과 일치하는 함수가 없습니다.

나는 만 발견

public static string ActionLink(this System.Web.Mvc.HtmlHelper htmlHelper, 
    string linkText, string actionName) 

(클래스 System.Web.Mvc.Html.LinkExtensions에서) 더 유사 정적 클래스 InputExtensionsFormExtensions 같은있다

ASP.Net MVC는 어떻게 처리합니까? 그것은 Html.ActionLink에 대한 동적 코드를 생성합니까?

답변

5

이 방법은 확장 방법입니다 (그러므로 첫 번째 매개 변수 유형 앞에 this이 붙습니다). 즉, HtmlHelper에 정의되어 있지 않더라도 모든 HtmlHelper 인스턴스에서이 메서드를 인스턴스 메서드로 사용할 수 있습니다.

HtmlHtmlHelper 유형의 속성에있는 속성입니다. 즉, ActionLink 확장 메소드를 사용할 수 있습니다.

ActionLink 메서드 자체는 (인수와 관련하여) 링크 문자열을 생성하고 해당 문자열을 반환하는 것 이상을 수행하지 않습니다.

0

Codeplex에서 code을 확인 했습니까? MVC Framwork은 오픈 소스이므로 필요한만큼 파고들 수 있습니다.

관련 문제