2010-10-13 5 views
0

Я хотел бы добавить некоторые переменные, когда срабатывает моя функция window.open.Как передать переменную с помощью window.open()?

Пример:

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

Я хотел бы передать номер документа на странице Details.aspx. Как мне это сделать?

ответ

4

Pass его на строку запроса:

<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

передать значение в виде строки запроса

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

передать его в строке запроса или фрагмента, и разобрать его на другой странице.

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> 

И ваша страница ребенок может получить идентификатор в сценарии, как это:

var id = window.opener.detailsId; 

наслаждаться!

Смежные вопросы