2010-02-13 8 views

ответ

0

Как только всплывающее окно открывается для заданного URL-адреса, вы не можете использовать сценарий на стороне сервера для перенаправления родителя. Вы должны использовать JavaScript внутри всплывающего окна:

if (opener && !opener.closed) { 
    opener.location.href = "http://www.example.com/somenewurl"; 
} 
1

Я предполагаю, что Вы желаете сделать это, когда пользователь нажимает кнопку или что-то на всплывающем окне. Вы можете использовать функцию ClientScript.RegisterStartupScript, чтобы получить ASP.Net, чтобы поместить некоторый JavaScript в нужное место, чтобы он был выполнен, как только завершена обратная передача. Что-то вроде этого ...

public void RedirectParent(string url) 
{ 
    string js = ""; 
    js += "window.opener.location.href='" + url + "';"; 
    js += "window.close();"; 
    ClientScript.RegisterStartupScript(this.GetType, "redirect", js, true); 
} 

Вы можете удалить строку window.close() если вы хотите сохранить всплывающее окно открытым, но я предполагаю, что вы хотите, чтобы закрыть его автоматически.

«redirect» бит в последней строке - это просто имя, которое вы хотите назначить сценарию - это может быть все, что вы пожелаете.

+0

поблагодарить u за ваш ответ – user261568