[英]HTTP 404 Error after encoding Url
当我使用HttpUtility.UrlEncode编码Url时,我最终收到服务器错误。
ASP.Net代码:
NavigateUrl=<%# HttpUtility.UrlEncode(string.Concat("UpdateMember.aspx","?groupId=", DataBinder.Eval(Container.DataItem, "GroupID").ToString())) %>
网址:
http://localhost/UITest/MM/UpdateMember.aspx%3fgroupId%3d0032409901
结果为“ HTTP错误404.0-找不到所需的资源已被删除,名称更改或暂时不可用。”
但是使用:
NavigateUrl=<%# string.Concat("UpdateMember.aspx","?groupId=", DataBinder.Eval(Container.DataItem, "GroupID").ToString()) %>
产生网址:
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的一部分插入时,可以使用这种转义功能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.