簡體   English   中英

AJAX加載內容到DIV ..哪個頁面擁有/控制什么?

[英]AJAX-Loaded Content Into a DIV.. Which Page Owns/Controls What?

我正在使用jQuery load()函數將一些輔助ASPX頁面中的內容帶入主ASPX頁面上的DIV。 所討論的內容包含按鈕控件和標簽控件,其中按鈕的點擊事件代碼(駐留在輔助頁面的代碼隱藏中)隨后將一些文本填充到標簽控件中。 輔助頁面本身工作正常。

在主頁面上,使用load()函數將按鈕和標簽帶入DIV就好了。 我想要了解的是加載內容的范圍。 它現在位於主頁面的DOM中,在我看來它表明它在主頁面的控制之下(如果這是正確的單詞)。 但是,單擊該按鈕會導致輔助頁面“接管”,並刷新回輔助頁面,並在標簽中正確填充文本。 此結果表明在頁面范圍方面存在某種混合層次結構,特別是對於加載的按鈕控件及其相關的單擊事件。

是否有明確的規則或定義來定義這種關系? 從編碼包含load()內容的頁面的角度來理解這一點顯然至關重要。

謝謝大家。

HTML現在是主頁面的一部分,因為jQuery .load()函數返回HTML而不是代碼,並且HTML被注入到DIV中。 輔助頁面中的按鈕單擊代碼不會傳輸到主頁面,因此您需要在jQuery中連接單擊事件處理程序,如下所示:

$('#TheButtonID').live('click', function () {
     // Your code here for handling a button click

});

要么

$('#TheButtonID').on('click', function() {
    // Your code here for handling a button click
});

注意:建議在jQuery的更高版本中使用.on() ,但直到jQuery 1.9.x才刪除.live()


可以從jQuery .ajax()函數調用ASP.NET AJAX頁面方法,但是它無法在輔助.aspx頁面中執行現有的單擊事件處理程序代碼,因為ASP.NET AJAX頁面方法必須是靜態,因為它們可以跨頁面邊界調用代碼,因為頁面實例不存在。 對於您來說,這可能是一個更好的解決方案,您必須將一些邏輯復制到腳本調用的靜態方法中,但請記住,您無法與任何頁面控件進行交互,因為頁面實例不存在。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM