【.netcore mvc】通过后端【Redirect】进行页面跳转,url中带有中文导致跳转失败

报错信息:

An unhandled exception occurred while processing the request.

InvalidOperationException: Invalid non-ASCII or control character in header: 0x6821

Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpHeaders.ThrowInvalidHeaderCharacter(char ch)

解决方案:             

 id = Uri.EscapeUriString(id);

        /// <summary>
        /// 链接跳转
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        [HttpGet("BPM/OpenUrl")]
        public IActionResult OpenUrl(string id)
        {
            string url_str;
            var host = _configuration.GetSetting("xxxxxx");
            if (!id.IsNullOrEmpty())
            {

                id = Uri.EscapeUriString(id);
                url_str = $"{host}{id}";
            }
            else {
                url_str = $"{host}";
            }
            return Redirect(url_str);
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值