asp.net怎样在URL中使用中文、空格、特殊字符

C# ASP.NET页面通过URL参数传值中文乱码问题解决方法 通过手动解码或更改全局编码设置,我们可以有效地解决C# ASP.NET页面通过URL参数传值中文乱码的问题。根据实际情况选择合适的解决方法,并进行充分的测试,确保系统在接收和处理URL参数时能正确处理中文字符。中文字符在URL中是以UTF-8编码进行传输的,而ASP.NET默认使用的是ISO-8859-1编码。需要注意的是,更改全局编码可能会影响到其他部分的功能,因此在进行任何更改之前,务必进行全面的测试。这样配置后,ASP.NET将使用UTF-8编码进行URL参数的解码,从而避免中文乱码问题。 阅读详情

在cshtml或aspx/ascx中制作链接时,若参数可能是中文,则需要使用HttpUtility.UrlEncode():

@Html.Link("角色", "/SFC/Users/Users2Roles?user=" + HttpUtility.UrlEncode(User.Identity.Name))

而在对应的Action中,一切照常,不需要"Decode”(也有帖子说需要,但本人实验的结果是不需要):

        public ActionResult Users2Roles(string user)
        {
            ViewBag.User = user;
            return View(SFCRoles.GetAllRoles());
        }
        [HttpPost]
        public ActionResult Users2Roles(string user, FormCollection collection)
        {
            ViewBag.User = user;

            try
            {
            }
        }


此外还能解决类似空格和特殊字符的问题,比如当你想让一个页面关闭后回到另外一个页面,而另外一个页面的链接中偏偏有两个以上参加就,因此里边有个“&”,就可以:使用:

 @Html.Link("x", "/SFC/Categories/Delete?rootID=" + root.ID + "&id=" + Model.ID, showInNewWindow:false, returnUrl: HttpUtility.UrlEncode(Request.Url.ToString()))

这个Html.Link是我自己编写的Helper,如果直接用a,也一样可以。

但是这么写来写去毕竟太长了太麻烦了,所以如果经常使用returnUrl请参考我另外一个帖子:http://blog.youkuaiyun.com/cheny_com/article/details/6544338 在最后几行2011-08-18的补充。两个问题居然碰到一起了。

可参考:

http://stackoverflow.com/questions/3101823/extract-chinese-text-from-query-string

http://stackoverflow.com/questions/1380617/request-url-parameter

http://stackoverflow.com/search?q=Chinese+Parameter+URL+asp.net (StackOverflow上面所有类似的问题) 

 

点击下载免费的敏捷开发教材:《火星人敏捷开发手册》

 

 

MIT IDSS深度解析:跨学科融合与系统科学实践 麻省理工学院的IDSS(Institute for Data, Systems, and Society, IDSS)是一个致力于通过先进分析方法推动教育与研究的前沿机构。它将工程学、信息科学和数据科学的方法与社会科学的分析方法相结合,以应对复杂的社会挑战。 阅读详情

相关推荐

【数据挖掘】遗传算法原理浅析:什么是遗传算法?遗传算法的工作原理是什么?

遗传算法(Genetic Algorithm,GA),是进化算法的框架和核心。 各种进化算法有什么异同? - 及时物语的回答 - 知乎 https://www.zhihu.com/question/39152390/answer/901070749

纸羊同学的博客 4275

asp.net web 文本框中换行、空格的转换

C#中,TextBox-MultiLine 會使用到顯示時直接換行。 换行用" \r\t "表示,\r、\n的Unicode码分别为13、10;表示空格的Unicode码为32。 换行符转换方法: (1) string newline=this.txtbody.Text.Replace("\x0D\x0A", "");   (2) string newline=this.txtbo

先知的程序 5384

CoaXPress FMC子卡:高速图像采集与FPGA原型开发实战指南

在机器视觉和工业检测领域,高速、可靠的数据传输是核心需求。CoaXPress(CXP)协议作为一种基于同轴电缆的高速接口标准,通过其高带宽、长距离传输和低延迟的特性,有效解决了传统接口在确定性实时传输方面的短板。其技术价值在于为海量图像数据提供了稳定、高效的物理层和数据链路层解决方案,广泛应用于半导体检测、医疗成像等对吞吐量有极致要求的场景。要实现CXP系统的快速原型验证,集成了高速SerDes接口和时钟管理的FMC子卡与FPGA开发板的组合成为关键。这种平台将复杂的硬件设计封装,让开发者能聚焦于图像处理算

weixin_31815843的博客 278

ASP.NET中url传递中文的解决方案

function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/stor

689

用Python实现一个猜密码的程序

我们用Python实现猜密码

sk6584631_sz的博客 1261

计算机考研常见面试题

写在前面 本人参加20考研,由于复试没有具体要求会问哪几门课,所以我就找了网上一些常见的计算机专业的面试题,整理如下 主要结构: 数据库 软件工程 操作系统 计算机组成原理 计算机网络 数据结构 C++ Java 数据库 1、数据:数据库中存储的基本对象。 数据库:长期存储在计算机内的、有组织的、可共享的数据集合。 数据库管理系统:专门用于建立和管理数据库的一套软件。对外部程序提供访问数据库的方法,对内进行数据管理。 数据库系统:与和数据库相关的整个系统,一般由数据库、数据库管理系统、应用程序、数

qq_38841618的博客 2万+

ASP.NET url传递中文的方法

传递中文之前,将要传递的中文参数进行编码,在接收时再进行解码。  m‡‹fP>Y…bbs.szblogs.comÅ$Zý-•Q#Õÿ传递时编码: string keyword=this.txtSeek.Text.Trim();this.Response.Redirect("~/product/product_list.aspx?keyword="+Server.UrlEncode(k

sunkuize的专栏 377

电驱系统功率级“多合一”解决方案

如何提升电驱动系统的产品性能、减小能耗和进一步轻量化,以加强整车市场竞争力,是摆在国内外新能源车企面前的共同课题。为此,具有多年动力总成电子系统开发经验的美国著名半导体及电子解决方案专家——德州仪器(Texas Instrument)提出了多种功率级别“多合一”整合方案和设计思路,助力新能源车企提升技术优势。

yessunday的专栏 1370

下载乱码2

---------------------------1====================================== 今天做文件下载功能模块,发现几个问题。 1.    如果指定的文件名里包含了空格,FireFox就会截取空格前的部分作为默认文件名,IE就会在空格位置通过+号填补 2.    中文字符乱码,准确的是非 ASCII 字符乱码,当原文件的文件名中含有非 ASCII

tianyitianyi1的专栏 778

NotImplementedError: Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty()

Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to()输出(llama) (base) [root@localhost home]# nvidia-smi Unable to determine the device handle for GPU0000:09:00.0: Unknown Error。这是典型的“孤儿进程”,但它还是。(僵尸进程),占用 GPU 资源。如果进程仍然不消失,并且。,这意味着它的父进程是。

m0_61636632的博客 2096

基于Arduino与脑电模块的意念控制LED灯环实现

脑机接口(BCI)技术通过采集和处理脑电信号,实现人脑与外部设备的直接交互。其核心原理是利用传感器捕捉大脑活动产生的微弱电信号,经过放大、滤波和特征提取,转换为可识别的指令。这项技术在医疗康复、神经反馈训练和人机交互等领域具有重要价值。本文聚焦于一个具体的工程实践:使用消费级NeuroSky TGAM模块采集专注度与放松度数据,通过Arduino平台解析信号,并驱动WS2812B LED灯环实现实时可视化反馈。项目涵盖了硬件选型、电路搭建、数据解析和光效映射等关键环节,为脑机接口入门和嵌入式开发提供了完整的

weixin_28721917的博客 279

url加密和解密

.NET中加密和解密有两种方式 string file="文件上(传)篇.doc"; string Server_UrlEncode=Server.UrlEncode(file); string Server_UrlDecode=Server.UrlDecode(Server_UrlEncode); string HttpUtility_UrlEncode=System.Web.HttpUtil...

LongtengGensSupreme博客 605

公交车调度排班优化算法研究与实现

本文提出的公交车调度排班优化算法基于遗传算法,能够较好地处理公交车调度排班问题,使得车辆数量和运营时间得到平衡,公交车的使用效率得到了优化。在模拟的公交车路线中,使用本文所提出的算法,得到了一组较优的公交车调度排班方案。其中,车辆数量的多少会影响到公交车的行驶速度和等候时间,而运营时间的长短则会直接影响到公交车的使用效率和成本。本文基于遗传算法,通过随机生成种群、选择、交叉、变异等操作,逐步优化种群中个体的适应度,最终得到较优的公交车调度排班方案。以下是本文中所使用的Matlab代码实现,供参考。

PixelLoom的博客 872

解决Asp.net 实现文件下载时、输出文件时文件名的中文乱码和空格异常

<br />在 asp.net 项目中,我们可以很方便地使用 Response.WriteFile() 方法向客户端输出一个文件。<br />实际使用 asp.net 向客户端输出文件流时,却出现了异常:<br />1、空格问题,当原文件的文件名中含有空格时,将引发客户端获取到的文件名与服务器端不一致。<br />2、中文字符乱码,准确的是非 ASCII 字符乱码,当原文件的文件名中含有非 ASCII 字符时,将引发客户端获取到的文件名错乱。<br />3、一些特殊字符不能被正常输出(当然这里我并不是那些不

张彦鹏的专栏 4225

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

asp.net URL传值出现错误解决

最近在asp.net编程中发现一个问题,如果用URL从一个页面传递字符串到另一个页面,会出现传递的字符串比如是“DK51+700中继站”;可是另一个页面接收到字符串却是:“DK51 700中继口”;加号变成了空格,“站”不能解析出来,变成了不能识别的符号“口”的情况。     经网上查询发现原因主要是,URL中有些字符被转义,象空格被编码成加号,于是传的参数明明是加号,获取的值却成了空格。如果按照

冲浪小子专栏 1049

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

彻底解决Asp.net 文件下载时文件名的中文乱码和空格异常全球性技术难题

<br /><br />在 asp.net 项目中,我们可以很方便地使用 Response.WriteFile() 方法向客户端输出一个文件。<br />实际使用 asp.net 向客户端输出文件流时,却出现了异常:<br />1、空格问题,当原文件的文件名中含有空格时,将引发客户端获取到的文件名与服务器端不一致。Spaces cannot be supported by some browsers<br />2、中文字符乱码,准确的是非 ASCII 字符乱码,当原文件的文件名中含有非 ASCII 字符时,

lpp365的专栏 1680

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

JS与C#(.net)编码与解码

推荐C#程序员,在ASP.NET中使用 Microsoft.JScript.GlobalObject.encodeURIComponent("!@#$&*()=:/;?+'中 文");编码 而不要使用Server.UrlEncode("!@#$&*()=:/;?+'中 文");   在客户端用js方法decodeURIComponent()来解析;将不会出现"!@#$&*()=:/;?+'中

longlong821的专栏 7356

javascript 与asp.net 传递url参数 乱码

javascript 与asp.net 传递url参数 乱码 javascript 常用的编码格式:escape(), encodeURL(), encodeURIComponent() escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的

xbbccx的专栏 625

JS地址传递Url参数中文字符问题

escape() 方法: 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。比如,空格符对应的编码是 。 不会被此方法编码的字符: @ * / + encodeURI() 方法: 把URI字符串采用UTF-8编码格式转化成escape格式的字符串。 不会...

养在鱼缸的鱼 583

encodeURIcomponent编码和ASP.NET之间编码转换

<br />Javascript的URL编码转换,escape() encodeURI() encodeURIComponent(),asp.net 的UrlDecode进行解码 。<br />本文介绍对url编码的三种函数 escape() ,encodeURI() ,encodeURIComponent()<br />escape() 方法:<br />采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该

shanyou的专栏 1707

asp.net中的中文和特殊字符的处理方式!

Server.UrlDecode("字符串");先进行编码!然后在用Server.UrlDecode(skillName),进行解码! 比如:前台页面UrlRedirect.ToReplaceQueryString("SkillName",Server.UrlEncode(Eval("SkillName").ToString()));    后台解码,Server.UrlDecode(skil...

weixin_30337157的博客 250

ASP.NET 关于JavaScript字符串加密及Ajax 提交 数据含特殊字符(500错误)处理

参考:https://www.cnblogs.com/zhaogaojian/p/9754848.html https://blog.csdn.net/weixin_34326179/article/details/85964062 1、escape() 采用ISO Latin字符集对指定的字符串进行编码。所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被...

fys651080570的专栏 362

C# URL编码解码的跨平台陷阱:当.NET遇上Java/Python

本文深入探讨了C# URL编码解码在跨平台开发中的常见陷阱,特别是与Java/Python的兼容性问题。通过分析大小写敏感性、空格编码差异和保留字符处理等核心问题,提供了实用的跨平台解决方案和最佳实践,帮助开发者避免系统集成中的潜在风险。

weixin_29254029的博客 304
上一篇: 敏捷开发生态系统系列之三:计划跟踪II(需求优先级排序-迭代期内无变更-团队承诺)
下一篇: 敏捷开发生态系统系列之四:计划跟踪II(自组织团队-开发团队自己估算-PO挑战估算-同行压力)
火星人陈勇
博客等级 码龄18年 4899粉丝 381原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值