2012-06-24 83 views
2

我有一個帶有兩個用戶控件的asp.net頁面。其中每個都在單獨的更新面板中一個用戶控件有三個文本框。我想根據第一個用戶控件中文本/焦點的更改更新第二個更新面板。如何訪問用戶控件的文本框和頁面中的其他控件,並更新文本更改的更新面板?更新updatepanel的基於在asp.net中丟失的texbox焦點

updatepanel1 
user control1 
    textbox1 
    textbox2 
    textbox3 

updatepane2 
    usercontrol2 
    label1 

問候, 阿西夫·哈米德

回答

1

哇,UpdatePanel的!這把我帶回來。觸發UpdatePanels從客戶端異步「回發」一直是一個混亂。常見的方法是使用隱藏按鈕的單擊事件註冊AsyncPostBackTrigger,然後在客戶端顯式調用其單擊事件。但是,少數幾個間接層的解決方案是調用ASP.NET AJAX庫的__doPostback()JS函數。

假設您使用jQuery(考慮到您仍然在使用UpdatePanels,這可能很牽強!),您可以將事件處理程序添加到UserControl1的「focusout」事件中,以觸發UpdatePanel2的異步回發。我會建議把這個JS放在你的一個UpdatePanel之外。

$('#userControl1').on('focusout', function() { 
    __doPostback('UpdatePanel2UniqueId', ''); 
}); 

我挖出了一篇很好的文章,解釋了在更詳細地使用__doPostback的技術。

相關問題