`
niunan
  • 浏览: 721154 次
  • 性别: Icon_minigender_1
  • 来自: 南宁
社区版块
存档分类
最新评论

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搭建mybatis开发环境

    例如,在ASP.NET MVC的控制器中: ```csharp public class UserController : Controller { private readonly IUserMapper _userMapper; public UserController() { _userMapper = SqlMapper.Instance....

    asp.net mvc 上传图片到数据库

    在ASP.NET MVC中,上传图片涉及的关键组件包括控制器(Controller)、视图(View)和模型(Model)。模型通常会包含一个或多个属性来存储图像数据,如Base64编码的字符串或二进制数据。控制器处理HTTP POST请求,...

    Asp.net Core 3.1 JWT 认证Demo

    Asp.NET Core的JWTBearer中间件会自动处理验证,如果令牌有效,它将自动将用户身份信息添加到`HttpContext.User`。 5. **保护路由和API**:你可以使用 `[Authorize]` 属性来保护特定的控制器或动作,只有持有有效...

    ASP.NET—009:前台传值的另一种方式$.post

    在ASP.NET中,$.post方法可以与各种后端技术配合使用,如ASP.NET Web Forms、ASP.NET MVC或ASP.NET Core。以一个简单的例子来说明,假设我们有一个ASP.NET Web Forms的.aspx页面,后端代码可能如下: ```csharp ...

    ASP.NET-Core-File-Upload:示例存储库以显示在ASP.NET Core中的上传文件

    本示例存储库专门展示了如何在ASP.NET Core中实现这一功能。 首先,我们需要了解`.NET Core 2.2 SDK`,它是开发ASP.NET Core应用的基础。SDK包含了编译器、构建工具以及.NET Core运行时,使得开发者可以在多种操作...

    asp.net 二维码生成与读取实例

    在ASP.NET Web Forms或MVC项目中,可以创建一个页面或控制器方法,将上述代码封装起来。用户请求时,根据需求生成或读取二维码。 1. 生成二维码页面: ```csharp protected void GenerateQRCode_Click(object ...

    详解ASP.NET Core 2.0 视图引擎(译)

    - 当控制器返回`ViewResult`时,ASP.NET Core中间件会查找与控制器和动作匹配的.Razor文件。 - 视图查找遵循一定的顺序: - `Views/Controller/Action.cshtml` - `Views/Shared/Action.cshtml` - 如果视图文件名...

    ASP.NET Core中的Action的返回值类型实现

    在ASP.NET Core中,控制器的Action方法扮演着核心角色,它们处理客户端请求并返回响应。本文将详细探讨ASP.NET Core中Action的返回值类型实现,帮助开发者更好地理解和应用。 在ASP.NET Core之前的版本中,Action...

    Asp.Net Core对接钉钉群机器人的完整步骤记录

    在本文中,我们将深入探讨如何使用Asp.Net Core对接钉钉群机器人,以便实现企业内部系统与钉钉的集成,实现实时消息推送。钉钉作为一个广泛使用的办公软件,提供了丰富的API接口,允许开发者构建自定义机器人来发送...

    Asp.Net-Core-Crud-using-Dependency-Injection

    总之,“Asp.Net-Core-Crud-using-Dependency-Injection”项目是关于如何在Asp.Net Core应用中利用依赖注入来实现CRUD操作的实战示例,涵盖了接口定义、服务注册、依赖注入到控制器以及基本的HTTP操作处理。...

    图片上传预览功能(.net)

    通常,我们会使用ASP.NET MVC或ASP.NET Core来处理文件上传。在控制器中,定义一个接收文件的POST方法,使用`HttpPostedFileBase`或`IFormFile`接收文件。确保设置好允许上传的文件类型和大小限制,以防止安全问题。...

    详解ASP.NET Core 2.0 路由引擎之网址生成(译)

    在*** Core 2.0中,路由引擎扮演着处理URL请求并将其映射到相应控制器动作方法的重要角色。路由引擎还负责网址的生成,即根据指定的路由模板和参数构造出相应的URL。在开发基于MVC(Model-View-Controller)的应用...

    aspnet-core-3-jwt-authentication-api:ASP.NET Core 3.1 JWT身份验证API

    在ASP.NET Core 3.1中,我们可以利用内置的中间件和库来实现JWT认证。 首先,JWT的原理是将用户凭证(如用户名和密码)验证成功后,服务器会生成一个包含必要信息的令牌,如用户ID、过期时间等,这些信息经过编码和...

    生成动态二维码.zip

    在ASP.NET Core MVC项目中,创建一个新的控制器,例如`QrCodeController`,然后添加一个返回二维码图像的动作方法。这里是一个简单的示例: ```csharp using Microsoft.AspNetCore.Mvc; using ZXing; public ...

    api_aspnetcore_jwt_token:.NET中带有JWT身份验证的Api的一个小示例

    4. **验证JWT**:当客户端在后续请求中附带JWT时,ASP.NET Core的身份验证中间件会自动处理验证。如果JWT有效,将为请求上下文附加一个经过身份验证的用户。 5. **保护API端点**:通过添加`[Authorize]`特性到API...

    MVC文件上传示例源代码

    在`Global.asax.cs`或`Startup.cs`(如果你使用的是ASP.NET Core)中配置路由: ```csharp routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", ...

    C# 9.0文档及编程指南中文版可编辑.rar

    - **ASP.NET Core**:学习如何使用ASP.NET Core开发Web应用程序,包括MVC、Razor Pages和API。 - **Entity Framework**:掌握ORM工具Entity Framework,用于数据库访问和数据模型映射。 5. **编辑器与开发环境** ...

    C# 文件上传代码

    下面是一个简单的C# ASP.NET MVC控制器方法,用于接收上传的文件: ```csharp [HttpPost] public ActionResult Upload(HttpPostedFileBase file) { if (file != null && file.ContentLength &gt; 0) { string ...

    依赖注入概念

    在控制器或其他类中,通过构造函数注入依赖项。 ```csharp public class UserController : Controller { private readonly IUserService _userService; public UserController(IUserService userService) {...

Global site tag (gtag.js) - Google Analytics