2011-03-23 6 views
0

정적 링크 도우미에 대한 포럼에서 this 질문을 여기에 요청했지만 아직 답변이 없습니다. 그래서 나는 내 자신의 도우미를 만들기로 결정했다. asp.net MVC에서 내 맞춤 도우미를 만드는 방법은 무엇입니까?

나는 정적 링크

<a href='xx'>yy</a> 

에 대한 도우미를 만들려고 해요하지만 HTML 코드를 표시합니다.

사용 :

<div> 
@Html.Link("www.google.com", "Google") 
</div> 

결과 :

<a href="www.google.com">Google</a> 

내 클래스를 참조하십시오 :

public static class BindHelper 
{ 
    public static TagBuilder Link(this HtmlHelper helper, string targetUrl, string text) 
    { 
     TagBuilder imglink = new TagBuilder("a"); 
     imglink.MergeAttribute("href", targetUrl); 
     imglink.InnerHtml = text; 
     return imglink; 
    } 
} 

어떻게 내 자신의 헬퍼를 만들 수 있습니까? 이미 여러 사이트에서 연구되었고 일부 메소드가 TagBuilder 클래스의 다른 클래스에서 문자열을 반환하지만 페이지에 HTML 코드를 표시하는 두 가지 방법 모두

답변

4

MvcHtmlString을 반환합니다. 이것이 MVC가 내부적으로하는 일입니다. 그것 (다소)은 IHtmlString을 구현하는데, 이는 HTML 엔코더에 값을 재 인코딩하지 말 것을 명령합니다.

또한 web.config의 빌드 구성 섹션에 네임 스페이스를 추가하십시오.

+0

프로젝트가 MVC가 아닌 경우? – ridermansb

+0

예에서 http : // localhost : 3400/Riderman.Sample.AMSD/Views/Home/www.google.com – ridermansb

+0

@Riderman - 'http : //'를 포함해야합니다. –

관련 문제