2014-11-03 7 views
1

Возможно ли выполнить response.redirect в iFrame для перенаправления всей страницы так, чтобы целевая страница отображалась в полноэкранном режиме и не содержалась в iFrame?ASP.NET iFrame Response.Redirect Parent Window

Ниже приведен текущий код позади

public partial class ServerResult : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
} 

Любая помощь будет высоко ценится :-)

ответ

1

No.

Response.Redirect это команда-сервер, который посылает (302?) Заголовок рассказывает клиент для перенаправления.

Вы находитесь в мире iframe. Вы не можете сказать серверу: «Эй, когда вы выслать мне данные - отправить его родителю Iframe»

НО Что вы можете сделать, это:

protected void Page_Load(object sender, EventArgs e) { 
    ClientScriptManager.RegisterClientScriptBlock(this.GetType(), 
     "aaa", "window.parent.location = 'http://yoursite.com'", true); 
} 

но вы должны удалить response.redirect с сервера.

Редактировать

var page = HttpContext.Current.Handler as Page; 
      if (page != null) page.ClientScript .RegisterClientScriptBlock(typeof(string), "Redirect", "window.parent.location='" + url + "';", true); 
+0

Спасибо, я пытался, но получил ошибку проверки говоря 'Не удается получить доступ к не-статический метод«RegisterClientScriptBlock»в статическом context'. – iggyweb

+0

поэтому передайте параметр методу 'public static void RegisterSomeScript (страница) { страница .ClientScript.RegisterStartupScript (« Нагрузка », « »); } ' –

+0

Извинения, но теперь я получаю' Не удается разрешить метод 'RegisterClientScriptBlock (строка, строка)' 'Я что-то упускаю? – iggyweb

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