2016-04-20 4 views
0

Моя главная страница - orders.aspx, с которой я открываю другую страницу aspx (Orderitems.aspx). В качестве всплывающего окна открывается страница Orderitems.aspx. Всякий раз, когда пользователь закрывает всплывающее окно, главная страница (Orders.aspx) должна отправлять назад для загрузки вновь добавленных элементов.Как обновить страницу (aspx) после закрытия всплывающего окна

Мой вопрос: как поймать событие закрытия окна и как включить загрузку страницы?

Я использую приведенный ниже код, чтобы открыть всплывающее окно.

protected void AddItems_Click(object sender, EventArgs e) 
{ 
    string url = "Orderitems.aspx"; 
    ClientScript.RegisterStartupScript(this.GetType(), "OpenWin", "<script>openNewWin('" + url + "')</script>"); 
} 
+1

Зачем открывать его в другом окне? Это довольно 1990-х. Почему бы не использовать модальное всплывающее окно? И почему бы не использовать AJAX для обновления вновь загруженных элементов? – mason

+0

Цените свой комментарий. Вы имеете в виду инструмент AJAX Control Toolkit ModalPopupExtender? –

+0

Да, это один из вариантов. Или есть [jQuery UI Dialog] (https://jqueryui.com/dialog/). Или [Bootstrap Modal] (http://getbootstrap.com/javascript/#modals). Или какой-либо CSS-рамки, которую вы используете, вероятно, есть. И если вы не используете рамки CSS, выберите один! Bootstrap довольно популярен и уже много лет связан с веб-проектами ASP.NET. – mason

ответ

0

В вашем всплывающем окне вы можете использовать кнопку обратной связи, которая может быть привязана к функции, которая может перенаправляться на page_load; вы можете иметь переменную счетчика, чтобы отслеживать, что загружать в (! isPostBack). Что-то вроде

<asp:Button ID="Post" Text="post" Visible="true" onclick="postBackToMain" runat="server" Width="413px" /> 

в код

protected void postBackToMain(object sender, EventArgs e) { 
      Response.Redirect("/Orders.aspx"); 
     } 

должен работать.

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