4

未能在 HTML 标记中转义“&”字符会创建一个实体。当链接文档中的 URL 时,通常会无意中执行此操作,W3C 的标记验证服务会将此视为错误。

我想知道,ASP.NET 的Response.Redirect方法是否期望 & 符号在其url参数中被转义?通过阅读它的 MSDN 描述,我真的无法判断。

4

2 回答 2

3

完全按照它应该出现在 Web 浏览器的地址栏中的方式传递 URL。例如,如果您尝试重定向到http://example.com/?foo=bar&baz=quux,则将确切的字符串按原样传递给 Response.Redirect。

于 2013-03-21T03:45:39.147 回答
2

try UrlEncode UrlEncode(String) 方法可用于对整个 URL 进行编码,包括查询字符串值。如果在 HTTP 流中传递空格和标点符号等字符而不进行编码,则它们可能会在接收端被误解。URL 编码将 URL 中不允许的字符转换为字符实体等价物;URL 解码反转编码。例如,当字符 < 和 > 嵌入到要在 URL 中传输的文本块中时,它们被编码为 %3c 和 %3e。 URL编码

System.Web.HttpUtility.UrlEncode(string url) 
于 2013-03-21T04:11:47.180 回答