ASP.NET Core MVC视图中的ViewBag对象字段有中文被html编码的问题

asp.net core mvc里,视图里,我们经常使用ViewBag来赋值。但是如果字段包含中文,则显示乱码,一串不认识代码。

原因是中文被编码过了。解决方法很简单,只要指定一下编码UnicodeRanges即可。

只要在Startup类的方法ConfigureServices 里添加一句话就搞定了。

1、引用包:

using System.Text.Encodings.Web;
using System.Text.Unicode;

2、ConfigureServices里添加一句代码:

  //解决ViewBag的中文编码问题
services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));

一句话就解决问题了。接下来就在试图里可以放心使用了。

 <span class="text" id="span_current_name">【@ViewBag.name】</span>