2010-08-30 124 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