28

HTML文字列を含むプロパティContentを持つモデルがあります。

var model = new { Content = ... }
Razor.Parse(templateBody, model)

スタンドアロンのRazorを使用してこの文字列をレンダリングするにはどうすればよいですか。

私は試した:

@(new HtmlString(Model.Content))

そしてまた

@(HttpUtility.HtmlDecode(Model.Content))

Model.Contentは、常にHTMLエスケープされたレンダリングを行います。

4

2 に答える 2

62

これはうまくいくはずですHtml.Raw(Model.Content)

于 2013-03-07T17:26:09.790 に答える
18

RazorEngine ライブラリでは、特別な「do-not-escape-me」タイプはRazorEngine.Text.IEncodedString. テンプレート基本クラスで単純なヘルパー メソッドを使用します。

 @Raw("<script>alert('!');</script>")

VS と Resharper に IntelliSense を提供するよう説得するには、テンプレートの先頭に次の行を追加します。

@inherits RazorEngine.Templating.TemplateBase
于 2013-03-11T10:17:01.900 に答える