我看到错误“The';'字符,十六进制值0x3B,不能包含在名称中。“在我的ASP.NET Web App的日志文件中。多数民众赞成记录的URL看起来是这样的:';'字符,十六进制值0x3B,不能包含在名称中
mypage.aspx?paramone=one+two&paramtwo=zero+1
所以我的第一个问题是什么类型的系统/浏览器编码原始查询字符串? (这种情况很少见)
我已经试过的代码在Page_Load()事件下面的代码片段来解决这个问题:
string rawUrl = Request.RawUrl;
if (rawUrl.Contains(amp))
{
rawUrl = rawUrl.Replace("&", "&");
Server.Transfer(rawUrl, false);
return;
}
然而,当它转移回这个页面&
又回来了查询字符串。所以我猜测.Transfer()函数编码第一个参数。
有关解决此问题的建议?
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm – tamberg 2008-11-26 15:55:02