Razor View Engine을 사용하면 문자열을 페이지에 직접 출력 할 때마다 HTML로 인코딩됩니다. 예 :새로운 Razor View Engine을 사용하면 HtmlHelpers가 문자열 또는 IHtmlString을 반환해야합니까?
@"<p>Hello World</p>"
실제로 페이지에 출력 얻을 것이다 :
< 페이지 > 안녕하세요 </P >
: 같은 브라우저에 표시 할<p>Hello World </p>
을
여기에 문제가 있지만, 지금까지 html 헬퍼를 만들 때 오래된 aspx 뷰 엔진으로 retu을 할 것입니다. rn 문자열을 브라우저에 출력하십시오.
<%= Html.MyCoolHelperMethod(); %>
제 질문은 기본적으로 다음과 같습니다. 난 그냥 내 cshtml에서이 작업을 수행 할 수 있습니다
public static IHtmlString MyCoolHelperMethod(this HtmlHelper helper)
{
return new helper.Raw("<p>Hello World</p>");
}
하는 경우 : :이합니까
@Html.MyCoolHelperMethod();
또는 나는이 않는 수행
public static string MyCoolHelperMethod(this HtmlHelper helper)
{
return "<p>Hello World</p>";
}
이 경우 내가 필요 내 cshtml에서 작업을 수행하십시오 :
@Html.Raw(Html.MyCoolHelperMethod());
분명히 첫 번째 appro Ach는보기를 훨씬 깔끔하게 보이게하지만 실제로는 공통 패턴이 IHtmlString
을 반환하는 도우미인지 아닌지 궁금해하며 과거에 잘못하고 있습니다.
다음을보십시오. http://stackoverflow.com/questions/2293357/what-is-an-mvchtmlstring-and-when-should-i-use-it IHtmlString – LukLed