繁体   English   中英

编码网址后出现HTTP 404错误

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM