2011-03-18 3 views
1

asp.net 웹 페이지 프레임 워크에서 콘텐츠 블록과 도우미를 사용하는 것의 차이점은 무엇입니까?asp.net 웹 페이지 콘텐츠 블록 및 도우미 차이점

둘 다 HTML을 여러 페이지에 출력하는 데 사용됩니다. 둘 다 코드를 포함 할 수 있으며 둘 다 매개 변수를 전달할 수 있습니다.

다른 점이 있습니까? 헬퍼와 컨텐트 블록은 언제 사용해야합니까?

더 많은 정보를 원하시면 : 우리가 (예를 _MakeNote.cshtml 용) .cshtml를 만드는 내용 블록

우리가 페이지에 삽입 할 내용을 유지하는 파일. 그런 다음 우리는 :

@RenderPage("/Shared/_MakeNote.cshtml") 

을 사용하여 페이지에 내용을 삽입합니다. 다음과 같이 콘텐츠 블록에 매개 변수를 전달할 수 있습니다.

@RenderPage("/Shared/_MakeNote.cshtml", new { content = "hello from content block" }) 

다소 포함 파일과 비슷하지만 상위 페이지와 범위가 공유되지 않습니다.

도우미와 함께 우리는 (예 : MyHelpers.cshtml) App_Code 폴더에 .cshtml 페이지를 만들고 호출 할 페이지에 메서드를 배치합니다. 방법은 다음과 같은 :

@helper MakeNote(string content) { 
    <div>@content</div> 
} 

도우미를 사용하여 호출됩니다

@MyHelpers.MakeNote("Hello from helper") 
+0

당신은 asp.net-mvc를 말하고 있습니까? 웹 양식의 도우미에 대해 들어 보지 못했습니다. – gideon

+0

이것은 Webmatrix IDE/스택과 함께 소개 된 웹 페이지 프레임 워크와 관련이 있습니다. 그것은 webforms 또는 mvc 아니에요. 클래식 ASP 또는 기본 PHP와 비슷하지만 .net을 사용합니다. – dtc

답변

1

기능적으로 차이가 많이 없습니다. 도우미는 App_Code 폴더로 이동해야합니다. VWD 또는 Visual C# Express를 다운로드하고 바이너리를 컴파일하지 않으면 App_Code 폴더가 MVC 프레임 워크로 잘 변환되지 않습니다. 물론 이것은 어떤 시점에서 MVC로 업그레이드하려는 경우에만 관련이 있습니다.

MakeNote와 같은 일반적인 기능 코드 조각에 도우미를 사용합니다. 페이지의 반복 된 사이트 특정 섹션에 대해 "내용 블록"(부분적, 실제로)을 사용합니다.