代码之家  ›  专栏  ›  技术社区  ›  MrM

如何使用window.open()传递变量?

  •  0
  • MrM  · 技术社区  · 14 年前

    我想在window.open函数触发时添加一些变量。

    例子:

    <a href="javascript:void(window.open('Details.aspx', 'Title'))"><%# Eval("Id").ToString) %></a>
    

    我想把身份证号码传给details.aspx页面。我该怎么做?

    4 回复  |  直到 14 年前
        1
  •  4
  •   Oded    14 年前

    在查询字符串上传递:

    <a href="javascript:void(window.open('Details.aspx?id=<%# Eval("Id").ToString) %>', 'Title'))"><%# Eval("Id").ToString) %></a>
    

    Details.aspx 您将能够获得:

    var id = Request.QueryString["id"];
    
        2
  •  1
  •   John Hartsock    14 年前

    将值作为查询字符串传递

    <a href="javascript:void(window.open('Details.aspx?id=<%# Eval("Id").ToString) %>', 'Title'))"><%# Eval("Id").ToString) %></a>
    
        3
  •  0
  •   Ignacio Vazquez-Abrams    14 年前

    在查询字符串或片段中传递它,并在另一页上解析它。

        4
  •  0
  •   gilly3    14 年前

    您可以从子页通过引用父页中的变量 window.opener . 您的父页将具有如下脚本:

    var detailsId = 0;
    function openDetails(id)
    {
        detailsId = id;
        window.open('Details.aspx', 'Title');
    }
    

    和HTML类似:

    <a href="javascript:void(openDetails('<%# Eval("Id").ToString) %>'))">
        <%# Eval("Id").ToString) %></a>
    

    您的子页面可以在这样的脚本中获取ID:

    var id = window.opener.detailsId;
    

    享受!