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

简介:

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

 
  1.  
  2. [html] view plaincopy  
  3. 01.@Html.Link("角色", "/SFC/Users/Users2Roles?user=" + HttpUtility.UrlEncode(User.Identity.Name))    

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

 
  1.  
  2. html] view plaincopy  
  3. 01.public ActionResult Users2Roles(string user)    
  4. 02.{    
  5. 03.    ViewBag.User = user;    
  6. 04.    return View(SFCRoles.GetAllRoles());    
  7. 05.}    
  8. 06.[HttpPost]    
  9. 07.public ActionResult Users2Roles(string user, FormCollection collection)    
  10. 08.{    
  11. 09.    ViewBag.User = user;    
  12. 10.    
  13. 11.    try    
  14. 12.    {    
  15. 13.    }    
  16. 14.}    
此外还能解决类似空格和特殊字符的问题,比如当你想让一个页面关闭后回到另外一个页面,而另外一个页面的链接中偏偏有两个以上参加就,因此里边有个“&”,就可以:使用:

 

 
  1.  
  2. [html] view plaincopy  
  3. 01.@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://cheny.blog.51cto.com/3988930/1100102 在最后几行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上面所有类似的问题)



本文转自火星人陈勇 51CTO博客,原文链接:http://blog.51cto.com/cheny/1100221

相关文章
url参数值中有+、空格、%20、%2b
url参数值中有+、空格、%20、%2b
905 0
|
3月前
|
开发框架 前端开发 .NET
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
Asp.net Webapi 的 Post 方法不能把参数加到 URL 中?试试这样写
|
4月前
|
存储 SQL Python
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
`urllib.parse`模块是Python标准库`urllib`中的一个子模块,它提供了处理URL(统一资源定位符)的实用功能。这些功能包括解析URL、组合URL、转义URL中的特殊字符等。
|
6月前
|
数据安全/隐私保护
URL编码解析方式-特殊字符加密和解密
URL编码解析方式-特殊字符加密和解密
120 0
|
开发框架 .NET
ASP.NET Core获取请求完整的Url
ASP.NET Core获取请求完整的Url
537 0
ASP.NET Core获取请求完整的Url
a标签下载特殊字符url手动编码浏览器兼容性不显示
a标签下载特殊字符url手动编码浏览器兼容性不显示
|
数据安全/隐私保护
URL编码解析方式-特殊字符加密和解密
我们一起来看看为什么要给特殊字符进行加密,那又如何进行解密呢?
114 0
|
Go 数据安全/隐私保护
Go 语言入门很简单:net/url 包(上)
在 Golang 中,将 URL 打包用于从服务器获取数据非常重要。只需了解您是否正在处理任何应用程序并且您想从任何外部位置或服务器获取此应用程序的数据,都需要我们可以使用 URL。
|
小程序 安全 API
.NET企业微信回调配置(数据回调URL和指令回调URL验证)(一)
.NET企业微信回调配置(数据回调URL和指令回调URL验证)
961 0
.NET企业微信回调配置(数据回调URL和指令回调URL验证)(一)
Go 语言入门很简单:net/url 包(下)
在 Golang 中,将 URL 打包用于从服务器获取数据非常重要。只需了解您是否正在处理任何应用程序并且您想从任何外部位置或服务器获取此应用程序的数据,都需要我们可以使用 URL。