这段代码
function LoadContent(Id) { alert('Controls/Network/NetworkDetail.aspx?' + rnd() + '&CtlId=' + Id); $.get('Controls/Network/NetworkDetail.aspx?' + rnd() + '&CtlId=' + Id, function(data) { $(Id).append(data); }); $(Id).removeClass("Waiting"); }
在IE7中完美运行.警报显示预期的查询字符串,NetworkDetail.aspx页面可以使用Request.QueryString ["CtlId"]获取CtlId
但是,使用FF3和Chrome,Request.QueryString ["CtlId"]返回null但警报正确显示查询字符串(与IE7没有区别).
Id值通常是'#Tab1'或"#Tab2"
关于如何正确构造查询字符串的任何想法?
#表示HTML中的命名锚点,因此不是查询字符串的一部分,也许你可以正确地对你的id进行URL编码.
例如#Tab1变为%35Tab1
尝试使用逃脱.例如
"控制/网络/ NetworkDetail.aspx?+ rnd()+'&CtlId ='+ escape(Id)