2016-04-20 89 views
0

我的主頁是從其中打開另一個aspx頁面(orderitems.aspx)的orders.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控制工具包ModalPopupExtender? –

+0

是的,那是一種選擇。或者有[jQuery UI對話框](https://jqueryui.com/dialog/)。或[Bootstrap Modal](http://getbootstrap.com/javascript/#modals)。或者你使用的任何CSS框架可能都有一個。如果你不使用CSS框架,請​​選擇一個! Bootstrap非常流行,並且已經與ASP.NET Web項目捆綁了多年。 – 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"); 
     } 

應該工作。

相關問題