繁体   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