2011-01-12 94 views
4

我有一個UpdatePanel與ContentTemplate指定。當頁面加載時,用戶可以在頁面的其他部分做一些AJAX工作。然後,在完成該工作後,我想只更新UpdatePanel內的內容,但不按任何按鈕等。我應該在以前啓動AJAX工作完成時使用JavaScript自動完成。如何在沒有手動點擊觸發按鈕的情況下做到這一點?UpdatePanel更新無觸發按鈕

編輯:

好吧,我跟着那個_doPostBack規則,整個頁面公佈。

<asp:UpdatePanel ID="panelAttachments" runat="server"> 
     <ContentTemplate> 
    ........ 
     </ContentTemplate> 
    </asp:UpdatePanel> 
    <input type="text" name="test" onchange="__doPostBack('<%=panelAttachments.UniqueID %>',''); return false;" /> 
</td> 

此致的Pawel

回答

7

從JavaScript刷新更新面板:

__doPostBack(updatePanelUniqueID,'');

第一個參數是所述UpdatePanel.The第二參數的UniqueID(未CientID)是任選的您可以傳遞的參數將可用於您的服務器代碼。兩者都存儲在由ASP.NET的隱藏表單域,您可以在代碼隱藏訪問它們:

Request.Form["__EVENTTARGET"]; 
Request.Form["__EVENTARGUMENT"]; 

但如果你只是想刷新面板,並不需要通過從客戶端的任何其他信息,您可以忽略第二個參數。

如果您查看ASP.NET爲異步回發控件生成的HTML,您會看到它正是這樣。

+0

你可以顯示如何調用JavaScript,例如從文本輸入TextChanged事件? – DOK 2011-01-12 14:00:40