在IE和FF / Chrome中动态构造查询字符串行为

时间:2008-12-21 01:32:03

标签: javascript jquery

此代码

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”

关于如何正确构造查询字符串的任何想法?

1 个答案:

答案 0 :(得分:5)

#表示HTML中的命名锚点,因此不是查询字符串的一部分,也许你可以正确地对你的id进行URL编码。

e.g。 #Tab1变为%35Tab1

尝试使用逃脱。 e.g。

“控制/网络/ NetworkDetail.aspx? + rnd()+'& CtlId ='+ escape(Id)