asp.net怎样在URL中使用中文、空格、特殊字符
2011-08-15 11:51
429 查看
在cshtml或aspx/ascx中制作链接时,若参数可能是中文,则需要使用HttpUtility.UrlEncode():
此外还能解决类似空格和特殊字符的问题,比如当你想让一个页面关闭后回到另外一个页面,而另外一个页面的链接中偏偏有两个以上参加就,因此里边有个“&”,就可以:使用:
但是这么写来写去毕竟太长了太麻烦了,所以如果经常使用returnUrl请参考我另外一个帖子:/article/1432195.html 在最后几行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上面所有类似的问题)
点击下载免费的敏捷开发教材:《火星人敏捷开发手册》
@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请参考我另外一个帖子:/article/1432195.html 在最后几行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上面所有类似的问题)
点击下载免费的敏捷开发教材:《火星人敏捷开发手册》
相关文章推荐
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- asp.net怎样在URL中使用中文、空格、特殊字符
- 【记录】ASP.NET URL 特殊字符
- C++中使用IXMLHTTPRequest对象调用Web API时,对URL中的特殊字符(或中文)编码
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- ASP.NET网站伪静态下使用中文URL
- ASP.NET网站伪静态下使用中文URL的方法
- ASP.NET url传递中文 字符乱码问题
- ASP.NET网站伪静态下使用中文URL
- 使用URLDecoder.decode解析字符串含有"+","+"号这个特殊字符会被吃掉,转换成空格
- 使用java.net.URLDecoder获取请求中的中文字符
- ASP.NET 登陆界面中过滤特殊字符(使用c#)
- c#asp.net url 传递中文参数要使用 System.Web.HttpUtility.UrlEncode 而不能使用Server.UrlEncode
- asp.net mvc使用validate.js验证 若name属性包含特殊字符则加上双引号即可
- Asp.net Url 特殊字符
- ASP.NET网站伪静态下使用中文URL的方法