我有一頁搜索結果,點擊一頁打開一個新窗口,他們在那裏編輯關於它的信息。完成後,他們必須再次點擊「搜索」才能刷新結果以確保其正確保存(刷新搜索結果並反映新狀態)。您可以基於asp.net中的單獨窗口執行操作嗎?
有什麼辦法可以觸發頁面自動刷新(即自動點擊搜索按鈕)基於彈出窗口關閉或通過其他方式?
我有一頁搜索結果,點擊一頁打開一個新窗口,他們在那裏編輯關於它的信息。完成後,他們必須再次點擊「搜索」才能刷新結果以確保其正確保存(刷新搜索結果並反映新狀態)。您可以基於asp.net中的單獨窗口執行操作嗎?
有什麼辦法可以觸發頁面自動刷新(即自動點擊搜索按鈕)基於彈出窗口關閉或通過其他方式?
我呼應的情緒要做到這一點,而不彈出窗口,但如果你真的需要...
我會做這個周圍的結果包裹的更新面板和一些JavaScript添加到您的保存按鈕彈出頁面。
在您彈出一頁,我猜你有一個按鈕來保存你的工作,是這樣的:
<asp:button id="btn_save" runat="server" OnClick="Save" Text="save" />
的代碼隱藏:
protected void Save(object sender, EventArgs e)
{
// save code ...
// bla bla
// Add this
ClientScript.RegisterStartupScript(this.GetType(), "save", "<script language='javascript'>updateResults();</script>
}
在結果頁面加載這
<script language="javascript">
function updateResults()
{
__doPostBack('updatePanel_results','');
}
</script>
並將結果控制包裝在更新面板中(在本例中稱爲updatePanel_results)。在你的page_load中,你可能需要編寫代碼來調用你的refresh resutls方法。
如果可能的話,我真的會避免讓應用程序流跨越兩個窗口。爲什麼不在用戶點擊編輯鏈接時實現某種模態對話?
退房jQuery的模態形式執行力度要明白我的意思:
打開的窗口中看起來並不像理想的解決方案在這裏。
在新窗口中,您可以在javascript中訪問父窗口。您可以使用它在郵件窗口中觸發刷新/或其他功能。
有什麼辦法來觸發頁面 自動刷新(即 自動點擊搜索按鈕)的基礎上的彈出窗口關閉或 通過一些其他手段 ?
您可以爲OnUnload事件註冊JavaScript事件處理程序。但是,根據我的經驗,這不是可靠的(瀏覽器到瀏覽器的不一致性等)。
您是否考慮過使用Ajax將搜索結果保留在與原始窗口相同的頁面上?或者也許是一個小的Silverlight控件?
爲什麼你使用彈出來編輯項目?你不能使用數據視圖或類似的東西? – Ivo 2009-11-16 09:24:26
感謝您的回覆,是的,它真的很討厭,但這是編輯討厭的遺留代碼的生活......沒有時間重寫它。就像在螢火蟲中,當船長拒絕爲船舶發動機購買更換部件時,儘管事實上它完全分崩離析......「只要它可以工作,或者你可以得到它的工作」:( – NibblyPig 2009-11-17 09:36:05