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

时间:2010-10-13 20:06:15

标签: c# .net javascript asp.net

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

示例:

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

我想将id号传递给Details.aspx页面。我该怎么做?

4 个答案:

答案 0 :(得分:4)

将其传递给查询字符串:

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

Details.aspx中,您将能够获得它:

var id = Request.QueryString["id"];

答案 1 :(得分:1)

将值作为查询字符串传递

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

您可以通过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;

享受!