2013-05-17 37 views
0

我的網站是用ASP.NET編寫的C#,加載的所有頁面都是.aspx頁面。在Jquery對話框中加載本地頁面後,父窗口加載相同的本地頁面

我使用一個按鈕

<input type="button" onclick="FindBuilding()"> 

觸發JavaScript函數

function FindBuilding() { 
$('#BuildingPopup).load('./BuildingPopup.aspx?lid=xxx'); 
$('#BuildingPopup).dialog('open'); 
} 

打開我創建

$("#BuildingPopup").dialog({ 
    modal: false, 
    autoOpen: false, 
    position: "center", 
    resizable: false, 
    height: 671, 
    width: 1042, 
    stack: true 
}); 

模態對話框內建立的對話$(document).ready功能

問題:

對話框加載後BuildingPopup.aspx然後父頁面加載在同一頁 - 這種情況隨時我嘗試在一個模式對話框加載任何網頁,不管其內容。 BuildingPopup.aspx只是一個例子。

我試圖修復它:

我已經試過第一次創建對話框,然後加載使用open按鈕的頁面。我也嘗試使用iframe,其中工作但頁面永遠不會顯示良好,這是一個麻煩/錯誤的修復。

一些線索?

  • ,某些頁面的頁面加載過程中調用通過AJAX的web服務
  • 在使用和不使用UpdatePanel的頁面加載過程中
  • 有些正在評估代碼塊頁的問題仍然存在

UPDATE

我發現問題發生時,在t上的updatepanel他父頁面更新。

<asp:UpdatePanel ID="updatepanel1" runat="server" ChildrenAsTriggers="true" UpdateMode="Conditional"> 

這發生在一個<asp:Timer>執行代碼隱藏一個OnTick()方法(更新面板)。

回答

0

大桶出來我只是需要短語我的問題更好 - 我終於找到了和我一樣有問題的其他人。

了答案在這裏找到:UpdatePanel within jQuery.load()-ed content breaks out of the page on postback

簡單地說,問題是,使用.load是從被打破父頁面上的HTML加載頁面額外的標籤拉動。<head> <title> etc被拉入父頁面並導致問題。

爲了解決這個問題,我們需要的只是使用.load(/loadedpage.aspx #content)來指定我想要從加載的頁面拉取哪些內容,而不是拉動整個頁面。

0

嗯我有同樣的問題,因爲這,我解決它通過使用更新的面板,需要一個回調,不知道爲什麼,那就沒辦法了任何代碼...