在 .Net Core Web的cshtml视图获取从后台数据时,默认使用UnicodeRanges.BasicLatin进行的编码,所以在前台能显示中文,但在查看源码的时候,就会发现中文进行过编码操作 。
影响SEO的收录;
解决办法:在 Startup.cs 的 ConfigureServices() 方法中添加下面的一行代码:
public void ConfigureServices(IServiceCollection services) { ... //解决cshtml中文被编码 services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All)); ... }
或
public void ConfigureServices(IServiceCollection services) { ... //解决cshtml中文被编码 // services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All)); //或使用下面语句 services.Configure<WebEncoderOptions>(options => { options.TextEncoderSettings = new TextEncoderSettings(UnicodeRanges.All); }); ... }
最终效果如下:
这篇文档对您是否有帮助?