Response.Redirect&符号编码

时间:2013-03-21 03:20:54

标签: asp.net html

未能逃脱“&” HTML标记中的字符会创建entity。在链接文档中的URL时,通常会无意中完成此操作,而W3C的Markup Validation Service会将此视为错误。

我想知道,ASP.NET的Response.Redirect方法是否期望&符号在其url参数中被转义?从阅读它的MSDN描述,老实说我说不出来。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

尝试UrlEncode UrlEncode(String)方法可用于编码整个网址,包括查询字符串值。如果在没有编码的情况下在HTTP流中传递诸如空白和标点符号之类的字符,则它们可能在接收端被误解释。 URL编码将URL中不允许的字符转换为字符实体等效字符; URL解码会反转编码。例如,当字符<和>嵌入在要在URL中传输的文本块中,它们被编码为%3c和%3e。 URLEncode

System.Web.HttpUtility.UrlEncode(string url)