特殊文字 (度記号) を含むデータ モデルがあるため、プロパティには "48 °
f" が含まれます。ただし、UI がこのデータに更新されると°
、度記号ではなく「 」が表示されます。" " も試し°
ましたが、うまくいきません。
特殊文字をデータ モデルに入れ、UI に表示するにはどうすればよいですか?
特殊文字 (度記号) を含むデータ モデルがあるため、プロパティには "48 °
f" が含まれます。ただし、UI がこのデータに更新されると°
、度記号ではなく「 」が表示されます。" " も試し°
ましたが、うまくいきません。
特殊文字をデータ モデルに入れ、UI に表示するにはどうすればよいですか?
データベースにエンコードされたデータを保存するのは良い考えではないと思います。
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())");
これは私にとってはうまくいきました。