2012-10-11 2 views
2

RazorEngine 3을 사용하여 HTML 요소를 템플릿에 삽입하려고합니다. 이것을 시도 할 때 결과 문자열 (나중에 HTML로 사용됨)은 페이지를 렌더링하는 대신 HTML 마크 업을 표시합니다.콘솔 애플리케이션의 RazorEngine에 HTML 마크 업 전달

코드 :

var linkText = new HtmlString("<a href=" + location + ">" + linkName + "</a>"); 
string result = Razor.Parse(template, new {MyLink = linkText}); 

템플릿 파일 :

Link to file: @Model.MyLink 

결과 HTML :

Link to file: <a href=http://blah.com>Blah link</a> 

이 기능 RazorEngine 2로 잘 작동했지만 다른 결함으로 인해 업그레이드해야했습니다. 또한 이것은 콘솔 응용 프로그램이므로 @Raw 기능을 추가하는 것은 복잡 할 수 있습니다.

답변

2

대답은 템플릿에 전달 된 문자열 유형 변수를 사용하는 것으로 끝났습니다. 템플릿은 아래에서 볼 수 있듯이 Raw() 메서드를 사용합니다.

코드 :

string linkText = "<a href=" + location + ">" + linkName + "</a>"; 
string result = Razor.Parse(template, new {MyLink = linkText}); 

템플릿 파일 :

Link to file: @Raw(@Model.MyLink)