【问题标题】:add querystring value on javascript在javascript上添加查询字符串值
【发布时间】:2012-01-30 10:02:48
【问题描述】:

如何将查询字符串的值传递给 javacript ?这意味着获取当前窗口值上的查询字符串并将其传递给 javascript 以打开一个新页面。

例如:/FicheClient.aspx?Item=Tarif&Id=850001 我想将 Id=850001 传递给 window.open('Tarif_Report.aspx?Id=????')

 <dx:ASPxButton ID="ASPxButton_RptTarif" runat="server" Text="Voir" AutoPostBack="False">
                          <ClientSideEvents
                            Click="function (s, e) { e.processOnServer = false; window.open('Tarif_Report.aspx?Id=????'); }" />
                        </dx:ASPxButton>

提前谢谢你。 史蒂夫

【问题讨论】:

    标签: c# javascript asp.net window.open


    【解决方案1】:
     /*
    * <summary>
    * Get the querystring value
    * </summary>
    * <param name="key">A string contains the querystring key</param>
    * <param name="defaultVal">Object which get returns when there is not key</param>
    *
    */
    
    function getQuerystring(key, defaultVal) {
        if (defaultVal == null) {
            defaultVal = "";
        }
        key = key.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
        var regex = new RegExp("[\\?&]" + key + "=([^&#]*)");
        var qs = regex.exec(window.location.href);
        if (qs == null) {
            return defaultVal;
        }
        else {
            return qs[1];
        }
    }
    

    试试这个。

    【讨论】:

      【解决方案2】:

      将QueryString的值存储在Label或HiddenField中,并从document.getElementById('Label').value中获取存储的值。在 window.open url 中传递这个值。

      【讨论】:

        【解决方案3】:

        您可以使用 window.location.search 获取网址

        检查How can I get query string values in JavaScript? 以获得将查询字符串解析为有用内容的好答案。

        因此,您可以通过以下方式访问您的参数

        window.open('/Tarif_Report.aspx?Id=' + urlParams["Id"]);
        

        【讨论】:

          【解决方案4】:

          我明白了:

           <script type="text/javascript">
          
          
                  function getParameterByName(name)
                  {
                    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
                    var regexS = "[\\?&]" + name + "=([^&#]*)";
                    var regex = new RegExp(regexS);
                    var results = regex.exec(window.location.href);
                    if(results == null)
                      return "";
                    else
                      return decodeURIComponent(results[1].replace(/\+/g, " "));
                  }
                </script>
          
          
               <dx:ASPxButton ID="ASPxButton_RptTarif" runat="server" Text="Voir" AutoPostBack="False">
                                                                              <ClientSideEvents
                                                                              Click="function (s, e) { e.processOnServer = false; window.open('../Tarif_Report.aspx?ClientID=' + getParameterByName('Id')); }" />
                                                                          </dx:ASPxButton>
          

          谢谢大家

          【讨论】:

            【解决方案5】:
            1. 在页面中创建公共属性。
            2. 在页面加载事件期间,通过从查询字符串中获取值来设置该属性。
            3. 在 ASPX 页面中使用

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2021-02-17
              • 1970-01-01
              • 2019-08-07
              • 1970-01-01
              • 2021-05-15
              • 2011-08-02
              • 2014-02-07
              • 1970-01-01
              相关资源
              最近更新 更多