依赖注入的威力,.NET Core的魅力:解决MVC视图中的中文被html编码的问题
在 Startup.cs 的 ConfigureServices() 方法中添加下面的一行代码:
services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
一行注入,立马解决。依赖注入的威力,.NET Core的魅力。
更新1:根据 零度的火 的评论,更好的解决方法是
services.Configure<WebEncoderOptions>(options => { options.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.All); });
更新2:后来发现更好的解决方法
services.Configure<WebEncoderOptions>(options => options.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.BasicLatin, UnicodeRanges.CjkUnifiedIdeographs));