【发布时间】:2013-07-22 14:51:11
【问题描述】:
当我使用 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()) %>
在 URL 中的结果:
http://localhost/UITest/MM/UpdateMember.aspx?groupId=0032409901
效果很好。我做错了什么吗?
【问题讨论】:
-
好吧,你正在对你的 url 进行 url 编码。不要那样做,它会作为一个 url 工作。 =)
-
我不明白你的意思。由于其他原因我需要对其进行编码
-
Url-encoding 用于在 url 中传递值,否则可能会被视为 url 的一部分。所以,呃。不要那样做。只对需要编码的部分 url 进行编码。
-
想要对 URL 进行 URL 编码是有正当理由的,但您给出的示例让人认为在这种情况下,您不需要...