2010-08-30 120 views
0

我有以下ASPX代碼:AJAX的UpdatePanel需要幫助

<asp:ScriptManager ID="ScriptManager1" runat="server" /> 
         <asp:UpdatePanel runat="server" ID="UpdatePanel" UpdateMode="Conditional"> 
          <ContentTemplate> 
           <asp:Button runat="server" ID="UpdateButton1" OnClick="NextImg_Click" Text="Update" /> 
           <asp:Repeater runat="server" ID="urlsUpdateRepeater"> 
            <ItemTemplate> 
             <!-- THIS WOULD BE A LOOP FROM HERE --> 
             <!-- OPENS RESULT ITEM DIV CONTAINER --> 
             <div id="result_item"> 
             <a href="<%# Eval("myUrl") %>" target="_blank"> 
                    <%# Eval("urlPageTitle")%></a> 
            </ItemTemplate> 
           </asp:Repeater> 
          </ContentTemplate> 
         </asp:UpdatePanel> 

我有一個NextImg_Click()事件,工作正常。

我使用此代碼的DataBind ...什麼是Update方法?

urlsUpdateRepeater.DataSource = resultsCollection; 
urlsUpdateRepeater.DataBind(); 

一切似乎都是按順序排列的。但每次單擊「更新」按鈕時,都會重新呈現整個頁面,而不是僅部分回發UpdatePanel。

它在逼我完全生氣因爲我看不出任何代碼有問題。有沒有我想念的一些簡單的東西?!請幫忙!

正確顯示搜索和數據(面板內),它不會執行部分回發。

感謝我的noob問題的幫助!

+0

快速嘗試:創建一個全新的ASP.NET頁面,只有ScriptManager控件和一個帶Button的UpdatePanel。驗證在這個最簡單的情況下點擊按鈕會進行部分頁面回發。我們需要確保它是您的特定網頁導致的問題,而不是ASP.NET AJAX庫更常見的問題。 – 2010-08-30 23:59:07

+0

感謝您的評論 - 請參閱我的答案解決這個非常愚蠢的問題! :) – Alex 2010-08-31 00:10:17

回答

0

的問題是,我<form>標籤被進一步嵌套到文檔中,比它的相應的結束標記...

在移動我的表單標籤(含警告!) - 它的工作!

完全是我的錯,謝謝你們。

+0

呵呵,它總是很簡單。 =) 這就是爲什麼在使用UpdatePanels時,通常先編碼所有東西(完整回發),然後在AJAX上工作的原因。 (正如我在評論中所說的)。 – RPM1984 2010-08-31 00:27:59

+0

是的,最好打破這個問題......歡呼...... :) – Alex 2010-08-31 00:51:13

0

由於該按鈕位於UpdatePanel的ContentTemplate之內,因此無需採取任何額外操作即可獲取部分頁面回發。

嘗試從Page_Load()方法中刪除該行。

+0

試過,沒有區別:( – Alex 2010-08-30 23:39:52

0

從MSDN摘自:

使用RegisterAsyncPostBackControl 方法將一個 UpdatePanel控件外部寄存器控制作爲觸發器 異步回送,並 潛在更新 更新面板的內容。要以編程方式更新UpdatePanel 控件,請調用 更新方法。

所以,你控制(UpdateButton1)是 UpdatePanel的,沒必要爲ScriptManager1.RegisterAsyncPostBackControl呼叫 - 拋棄它,你的問題就解決了。

+0

我知道這一點已經從閱讀MSDN ...它仍然無法正常工作 – Alex 2010-08-30 23:41:32

+0

整個頁面被張貼回去...... :( – Alex 2010-08-30 23:41:48

+0

)您是否已經設置了「EnablePartialRendering」屬性ScriptManager參考? 。也嘗試添加按鈕作爲異步觸發器: RPM1984 2010-08-30 23:46:52