mvc.net html编码,ASP.NET CORE中控制器内return HTML 内容自动编码问题

以前ASP.NET MVC中在控制器中直接

return Content( "

测试测试

");

在前台VIEW上就显示加粗的文字了,但是在ASP.NET CORE中这样的话是直接原样返回的,他自动给你编码了,正确的做法应该是如下代码:

return Content( "

测试测试

","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 = $"";

con.ContentType = "text/html;charset=utf-8";

context.Result = con;

}

base.OnActionExecuting(context);

}

如果是用注释里的代码,就是把所有的中文都转成那个以\u开头的代码。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET Core MVC ,您可以在控制器使用 `HttpContext` 对象的属性和方法来访问当前请求的信息。`HttpContext` 对象可以通过控制器的 `ControllerContext` 属性来访问。 以下是一些常见的 `HttpContext` 属性和方法: - `HttpContext.Request`:获取当前请求的 HttpRequest 对象,包含请求的 URL、请求方法、请求头、请求正文等信息。 - `HttpContext.Response`:获取当前请求的 HttpResponse 对象,可以通过该对象设置响应的状态码、响应头、响应正文等信息。 - `HttpContext.Session`:获取当前请求的 Session 对象,可以使用它来存储和检索会话数据。 - `HttpContext.User`:获取当前请求的用户信息,可以使用它来进行身份验证和授权。 以下是一个简单的示例,展示如何在控制器使用 `HttpContext.Request` 对象: ```csharp public class MyController : Controller { public IActionResult Index() { var request = HttpContext.Request; // 使用 request 对象访问请求的信息 return View(); } } ``` 注意,在 ASP.NET Core ,推荐使用依赖注入来获取 `HttpContext` 对象,而不是直接访问控制器的 `ControllerContext` 属性。例如,您可以在控制器的构造函数注入 `IHttpContextAccessor` 接口,并使用它来访问 `HttpContext` 对象: ```csharp public class MyController : Controller { private readonly IHttpContextAccessor _httpContextAccessor; public MyController(IHttpContextAccessor httpContextAccessor) { _httpContextAccessor = httpContextAccessor; } public IActionResult Index() { var request = _httpContextAccessor.HttpContext.Request; // 使用 request 对象访问请求的信息 return View(); } } ``` 希望这可以帮助您开始使用 `HttpContext` 对象来访问请求信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值