0

私は何日もインターネットを検索してきましたが、これを見つけることができませんでした。

私のモデルには、Razor マークアップを含む html のチャンクを保持するプロパティがあります。例:

public class ViewModel 
{
    public string Content = "<div>@Html.TextBox(\"UserName\")</div>";
}

ビューでは、それを表示します

@Html.Raw(Server.HtmlDecode(Model.Content).toString())

Razor マークアップを html に変換できるようにする必要がありますが、モデルを介してコンテンツがドロップされるため、ビュー エンジンはそれを処理しません。

  • .Raw(Model.Content)、.Encode(Model.Content) だけを使用して、単にコンテンツをドロップしようとしましたが、何も機能しません。

何かご意見は?

4

1 に答える 1

1

Razor コードを解析して実行できるRazorEngineパッケージを使用できます。これは、Razor テンプレートを直接編集する権限をユーザーに与えることはお勧めしません。Web サイトに巨大なセキュリティ ホールを開いています。

たとえばDotLiquidなど、ユーザー入力を信頼しないシナリオにより適した他のテンプレート エンジンがあります。

于 2012-10-11T12:10:24.253 に答える