此代码
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”
关于如何正确构造查询字符串的任何想法?
答案 0 :(得分:5)
#表示HTML中的命名锚点,因此不是查询字符串的一部分,也许你可以正确地对你的id进行URL编码。
e.g。 #Tab1变为%35Tab1
尝试使用逃脱。 e.g。
“控制/网络/ NetworkDetail.aspx? + rnd()+'& CtlId ='+ escape(Id)