ASP.NET CORE中控制器内return HTML 内容自动编码问题
以前ASP.NET MVC中在控制器中直接
return Content( "<h1>测试测试</h1>");
在前台VIEW上就显示加粗的文字了,但是在ASP.NET CORE中这样的话是直接原样返回的,他自动给你编码了,正确的做法应该是如下代码:
return Content( "<h1>测试测试</h1>","text/html", Encoding.GetEncoding("GB2312"));
这个编码好像在CORE中默认是没有的,需要在Startup.cs中的ConfigureServices方法中注册一下,代码如下:
//添加gb2312的支持
Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);
然后上面只是在控制器里,如果我是在BaseController.cs中重写那个过滤器方法的话得用如下代码:
public override void OnActionExecuting(ActionExecutingContext context)
{
if (HttpContext.Session.GetInt32("userid") == null)
{
var con = new ContentResult();
//byte[] gb = Encoding.Unicode.GetBytes("登录超时,请重新登录!");
//string r = "";
//for (int i = 0; i < gb.Length; i += 2)
//{
// r += "\\u" + gb[i + 1].ToString("x").PadLeft(2, '0') + gb[i].ToString("x").PadLeft(2, '0');
//}
string r = "登录超时,请重新登录!";
con.Content = $"<script>alert('{r}');parent.location.href='/login'</script>";
con.ContentType = "text/html;charset=utf-8";
context.Result = con;
}
base.OnActionExecuting(context);
}
如果是用注释里的代码,就是把所有的中文都转成那个以\\u开头的代码。。
ASP.NET CORE中控制器内return HTML 内容自动编码问题的更多相关文章
- Asp.Net Core中服务的生命周期选项区别和用法
在做一个小的Demo中,在一个界面上两次调用视图组件,并且在视图组件中都调用了数据库查询,结果发现,一直报错,将两个视图组件的调用分离,单独进行,却又是正常的,寻找一番,发现是配置依赖注入服务时,对于 ...
- ASP.NET Core中使用GraphQL - 第三章 依赖注入
ASP.NET Core中使用GraphQL ASP.NET Core中使用GraphQL - 第一章 Hello World ASP.NET Core中使用GraphQL - 第二章 中间件 SOL ...
- ASP.NET Core 中文文档 第四章 MVC(4.4)依赖注入和控制器
原文: Dependency Injection and Controllers 作者: Steve Smith 翻译: 刘浩杨 校对: 孟帅洋(书缘) ASP.NET Core MVC 控制器应通过 ...
- 如何在ASP.NET Core中编写高效的控制器
通过遵循最佳实践,可以编写更好的控制器.所谓的"瘦"控制器(指代码更少.职责更少的控制器)更容易阅读和维护.而且,一旦你的控制器很瘦,可能就不需要对它们进行太多测试了.相反,你可 ...
- [06]ASP.NET Core中的进程内(InProcess)托管
ASP.NET Core 进程内(InProcess)托管 本文作者:梁桐铭- 微软最有价值专家(Microsoft MVP) 文章会随着版本进行更新,关注我获取最新版本 本文出自<从零开始学 ...
- ASP.NET Core 中文文档 第三章 原理(6)全球化与本地化
原文:Globalization and localization 作者:Rick Anderson.Damien Bowden.Bart Calixto.Nadeem Afana 翻译:谢炀(Kil ...
- ASP.NET Core 中文文档 第三章 原理(8)日志
原文:Logging 作者:Steve Smith 翻译:刘怡(AlexLEWIS) 校对:何镇汐.许登洋(Seay) ASP.NET Core 内建支持日志,也允许开发人员轻松切换为他们想用的其他日 ...
- 一劳永逸:域名支持通配符,ASP.NET Core中配置CORS更轻松
ASP.NET Core 内置了对 CORS 的支持,使用很简单,只需先在 Startup 的 ConfigureServices() 中添加 CORS 策略: public void Configu ...
- ASP.NET Core MVC 控制器创建与依赖注入
本文翻译自<Controller activation and dependency injection in ASP.NET Core MVC>,由于水平有限,故无法保证翻译完全准确,欢 ...
随机推荐
- CSDN开源夏令营 基于Compiz的switcher插件设计与实现之编译compiz源代码
在開始介绍之前先吐个嘈:上周我们暑期ACM集训開始了.平均下来基本上是一天一赛.有时还不止.又是多校联赛,又是CodeForces,又是TopCoder.又是BestCoder,又是AcDream.还 ...
- ADAMS与外部程序通信(Adams Command Server)
The Adams Command Server is an Adams View (or Adams Car) component that manages communication betwee ...
- mysql匹配模式
“_”:匹配任何单个字符“%”:匹配任意数目字符(包括零字符)“[abc]”:匹配“a”.“b”或“c”.为了命名字符的范围,使用一个“-”.“[a-z]”:匹配任何字母“[0-9]”:匹配任何数字“ ...
- excel单元格对齐方式
需要注意下面几点: 1.强制换行,ctrl+回车 2.快速设置缩进,当我们选择需要调整缩进的单元格之后,点击格式---单元格格式---选择水平对齐方式之后,可以选择缩进. 3.注意跨行居中功能,尤其是 ...
- Excel之tab键
如上,当用鼠标框选了一定的单元格范围之后,输入第一个数据再按tab捡继续输入数据.当数据输入到框选范围行的末尾时会实现自动转行,如图所示.
- quartz.net 的配置文件资料
java版本的文档比较全 http://www.quartz-scheduler.org/documentation/quartz-2.x/configuration/ConfigPlugins.ht ...
- springboot自定义jdbc操作库+基于注解切点AOP
发布时间:2018-11-08 技术:springboot+aop 概述 springBoot集成了自定义的jdbc操作类及AOP,因为spring自带的JdbcTemplate在实际项目中并 ...
- MySQL的INSERT ··· ON DUPLICATE KEY UPDATE使用的几种情况
在MySQL数据库中,如果在insert语句后面带上ON DUPLICATE KEY UPDATE 子句,而要插入的行与表中现有记录的惟一索引或主键中产生重复值,那么就会发生旧行的更新:如果插入的行数 ...
- 使用extract-text-webpack-plugin提取css文件
一.css之上的语言 js之上的语言有jsx.tyepscript.coffescript. html之上的语言有jade. css之上的语言有sass.scss.less.stylus,这几种语言区 ...
- Mysql模糊查询 select count(*) from sys_invitation where from_id like '%1006%';
select count(*) from sys_invitation where from_id like '%1006%'; 查询结果 select * from sys_invitation w ...