簡體   English   中英

使用javascript,將查詢字符串從aspx傳遞到html,再傳遞回aspx,鏈接問題

[英]pass query string from aspx to html back to aspx, using javascript, link problem

我正在將查詢字符串從上一頁傳遞到此頁面,然后將其傳遞到下一頁,但是它不起作用。

<script type="text/javascript">
           function qs(search_for) {
        var query = window.location.search.substring(1);
        var parms = query.split('&');
        for (var i=0; i<parms.length; i++) {
            var pos = parms[i].indexOf('=');
            if (pos > 0  && search_for == parms[i].substring(0,pos)) {
                return parms[i].substring(pos+1);;
            }
        }
        return "";
    }
    </script>

鏈接在這里

<a href="http://www.TEST.com/TEST/TEST/TEST.aspx?comp=" & <script type="text/javascript"> document.write(qs("comp")); </script> & "name=test" >CLICK HERE </a></font></b></p>

只需將其粘貼到隱藏字段中,然后使用簡單的document.getElementById()進行檢索,可能會更容易,更靈活且更易於維護。

  • 第1頁創建URL查詢字符串

  • 第2頁將此添加到第二頁
    <asp:hiddenfield runat="server" id="hdncomp" value=""/> <asp:hiddenfield runat="server" id="hdnname" value=""/>

    現在,在您的Page 2 Load事件中,運行以下代碼。

     Me.hdncomp = Request.QueryString("comp") Me.hdnname = Request.QueryString("name") 
  • 最后,當您轉到第3頁時。請使用hdncomp和hdnname中的值作為參數值。 例如:

Response.Redirect("page3.aspx?comp=" & hdncomp & "&name=" & hdnname)

未經測試的代碼

好吧,您的語法非常錯誤。 您不能在關閉第一個elements標簽之前編寫新元素: <element <element2 /> /> 這是可以使用的功能:


function createLink(address,param,text){
   address += ((address.indexOf('?') == -1) ? "?" : "&") 
      + param 
      + "="
      + qs(param);
    document.write(''+text+'');
}
然后,當您想通過插入帶有所需參數的調用“ createLink”函數的腳本標簽來插入所需鏈接時:
 <script type="text/javascript"> createLink("http://www.TEST.com/TEST/TEST/TEST.aspx?name=test","comp","CLICK HERE"); <script/> 

希望這可以幫助!

ps:您可能應該只使用一個分號,而不要一次使用兩個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM