4

特殊文字 (度記号) を含むデータ モデルがあるため、プロパティには "48 °f" が含まれます。ただし、UI がこのデータに更新されると°、度記号ではなく「 」が表示されます。" " も試し°ましたが、うまくいきません。

特殊文字をデータ モデルに入れ、UI に表示するにはどうすればよいですか?

4

2 に答える 2

0

データベースにエンコードされたデータを保存するのは良い考えではないと思います。

ASPNET/MVC C# (Razor を使用) を使用して、データベースからの情報をテキスト領域の値にバインドします。私はc#を使用しており、オブザーバブルの設定中にこのサーバー側のようなことをしなければなりませんでした。

値バインディングが適切に機能するように置換された文字の例。

model.Description  = ko.observable(
   @html.Raw(
             Model.Description.Replace("\"", "\\\"")
                .Replace("'", "\\\'")
                .Replace(Environment.NewLine, "\\r\\n")
            )
);

拡張メソッドはバインディングをより良くします。

    public static IHtmlString HtmlEscape(this String str)
    {
        if (String.IsNullOrEmpty(str))
            return new HtmlString("");
        var html = ((System.Web.Mvc.WebViewPage)
                       WebPageContext.Current.Page).Html;

        return html.Raw(
             str.Replace("\"", "\\\"")
                .Replace("'", "\\\'")
                .Replace(Environment.NewLine, "\\r\\n"));
    }

そしてバインディング

Description: ko.observable("@(Model.Description.HtmlEscape())");

これは私にとってはうまくいきました。

于 2014-03-10T04:39:11.393 に答える