0

ここに私のビューコードがあります:

<%=Model.HtmlData %>

ここに私のコントローラコードがあります:

    public ActionResult GetPage()
    {
        ContentPageViewModel vm = new ContentPageViewModel();
        vm.HtmlData = _htmlPageRepository.Get("key");
        return View(vm);
    }

私のリポジトリ クラスは基本的に、次のフィールドを持つデータベース テーブルにクエリを実行します。

id, pageName, htmlContent

.Get() メソッドは pageName (またはキー) を渡し、htmlContent 値を返します。

今、私はこれを開始したばかりなので(まだデータベースに何も永続化していません)、コードで明示的なエンコーディングを行っていません。

エンコーディングを行う必要がある場所のベストプラクティスは何ですか (モデル、コントローラー、ビューで??)

4

1 に答える 1

4

エンコーディングはビューの問題です。同じデータベースを使用して 2 つの非常に異なるディスプレイを使用する場合があるため、特定のビューに必要な状態でデータを保存することはお勧めできません。

補足として... .NET 4を使用している場合

<%: Model.HtmlData %>

新しいですか

<%= Sever.HtmlEncode(Model.HtmlData) %>
于 2010-05-26T14:58:02.790 に答える