日本語などが、ソース内で「&#XXXX;」のような形式で表示されます。
例)
ViewModelでプロパティを用意します。
public string TestMessageA { get; set; } = "abcde";
public string TestMessageB { get; set; } = "あいうえお";
RazorPageで表示させます。
TestMessageA=[@Model.TestMessageA]<br/>
TestMessageB=[@Model.TestMessageB]<br/>
画面上は正しく表示されます。
しかし、ソースを確認するとこんな感じで、日本語がHTMLエンティティ化されています。
javascriptなどに値を渡す場合に、問題となることもあるかと思います。
そんな時は以下のように設定します。
Startup.cs
using System.Text.Encodings.Web
using System.Text.Unicode
using Microsoft.Extensions.WebEncoders
public void ConfigureServices(IServiceCollection services)
{
services.Configure<WebEncoderOptions>(options =>
{
options.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.All);
});
// または、
services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
}