HTTP 404编码Url后出错
本文关键字:出错 Url 编码 HTTP | 更新日期: 2023-09-27 18:24:10
当我使用HttpUtility.UrlEncode对Url进行编码时,我最终会遇到服务器错误。
ASP.Net代码:
NavigateUrl=<%# HttpUtility.UrlEncode(string.Concat("UpdateMember.aspx","?groupId=", DataBinder.Eval(Container.DataItem, "GroupID").ToString())) %>
Url:
http://localhost/UITest/MM/UpdateMember.aspx%3fgroupId%3d0032409901
导致"HTTP错误404.0-未找到您要查找的资源已被删除、名称已更改或暂时不可用。"
但是使用:
NavigateUrl=<%# string.Concat("UpdateMember.aspx","?groupId=", DataBinder.Eval(Container.DataItem, "GroupID").ToString()) %>
Url:中的结果
http://localhost/UITest/MM/UpdateMember.aspx?groupId=0032409901
结果很好。我是不是做错了什么?
您不应该对整个URL进行编码,至少不应该对第一个"?"
符号进行编码。如果你编码?那么你的应用程序也会查找一个名为&扩展名"UpdateMember.aspx%3fgroupId%3d0032409901"不存在。
也许,这是你应该做的。
http://localhost/UITest/MM/UpdateMember.aspx?groupId%3d0032409901
HttpUtility.UrlEncode()
URL编码字符串
这意味着它可以转义字符串中的所有特殊字符,这样您就可以将其作为URL的一部分插入,而无需将任何字符解析为URL修饰符。
当插入任意文本作为URL的一部分时,可以使用这种转义函数。