2010-11-20 4 views

답변

3

예, 기존 헬퍼는 면도기로 완벽하게 작동합니다. 예를 들어 :

@helper FooBar(string foo) 
{ 
    <div>Hello @foo</div> 
} 

을 그리고 다음과 같이 사용합니다 : 지금까지

@FooBar("World") 

을 면도기는 어떤 변화

@Html.ActionLink("foo bar", "foo") 

이제 다음과 같이 인라인 도우미를 정의 할 수있을 것입니다 classic HTML 헬퍼가 걱정된다면 면도기는 아무 것도 바뀌지 않습니다. 단지 뷰 엔진 일 뿐이므로 늘 그렇듯이 도우미를 계속 작성하십시오 :

public static class HtmlExtensions 
{ 
    public static MvcHtmlString FooBar(this HtmlHelper htmlHelper, string value) 
    { 
     var builder = new TagBuilder("div"); 
     div.SetInnerText(value); 
     return MvcHtmlString.Create(div.ToString()); 
    } 
} 

그리고 면도기에 사용

@Html.FooBar("some value") 
0

면도기가 기본적으로 HTML 인코딩을 수행한다.

MVC2 HtmlHelpers가 마크 업을 방출하는 경우 MvcHtmlString 대신 String을 반환하면 작동하지 않을 수 있습니다.