programing tip

Razor로 인코딩 된 HTML 표시

itbloger 2020. 10. 18. 08:38
반응형

Razor로 인코딩 된 HTML 표시


인코딩 된 HTML을 데이터베이스에 저장합니다.

올바르게 표시 할 수있는 유일한 방법은 다음과 같습니다.

<div class='content'>    
   @MvcHtmlString.Create(HttpUtility.HtmlDecode(Model.Content));
</div>

못 생겼어. 이 작업을 수행하는 더 좋은 방법이 있습니까?


이 시도:

<div class='content'>    
   @Html.Raw(HttpUtility.HtmlDecode(Model.Content))
</div>

사용 Html.Raw(). Phil Haack은 http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx에 멋진 구문 가이드를 게시했습니다 .

<div class='content'>
    @Html.Raw( Model.Content )
</div>

이것은 매우 간단합니다.

HttpUtility.HtmlDecode(Model.Content)

또 다른 솔루션은 HTMLString을 반환 할 수도 있습니다. Razor는 올바른 형식을 출력합니다.

보기 자체에서 :

@Html.GetSomeHtml()

컨트롤러에서 :

public static HtmlString GetSomeHtml()
{
    var Data = "abc<br/>123";
    return new HtmlString(Data);
}

단순히 HtmlString수업을 사용할 수도 있습니다.

    @(new HtmlString(Model.Content))

인코딩 된 HTML을 데이터베이스에 저장합니다.

Imho 당신은 데이터베이스에 html로 인코딩 된 데이터를 저장해서는 안됩니다. 일반 텍스트 (인코딩되지 않음)로 저장하고 다음과 같이 데이터를 표시하면 html이 자동으로 인코딩됩니다.

<div class='content'>
    @Model.Content
</div>

참고 URL : https://stackoverflow.com/questions/5029264/display-encoded-html-with-razor

반응형