更新UpdatePanel外部的控件

时间:2009-03-08 21:31:48

标签: asp.net ajax

我有以下ASPX结构:

<UpdatePanel id="OutsidePanel" UpdateMode="Conditional">
  <div runat="server" id="myDiv">
    <UpdatePanel id="InsidePanel" UpdateMode="Conditional">    

     <asp:ImageButton that causes a postback.. />
   </UpdatePanel>
  </div>
</UpdatePanel>

单击imageButton时,在服务器端,我更改myDiv的类。它没有得到更新。我假设这是因为div在Inside UpdatePanel之外。我该如何强制更新?

2 个答案:

答案 0 :(得分:0)

如果要更新类服务器端,那么答案是肯定的。内部更新面板正在重新呈现并传递回客户端,但外部更新面板未被替换。当AJAX回调返回时,不会替换正在更新的实际面板之外的任何内容。您可能需要考虑在返回结果时添加一些更新div的javascript,作为更改类的简单解决方案。

答案 1 :(得分:0)

当“InsidePanel”中的Update导致回发时,您是否只能在服务器上调用“OutsidePanel”UpdatePanelImagebutton方法?或者,将ImageButton点击事件设置为“OutsidePanel”的触发器

根据MSDN

  

如果UpdateMode属性设置为   有条件的,UpdatePanel控件   内容在以下更新   情况:

     
      
  • 当您明确调用UpdatePanel控件的Update方法时。

  •   
  • 当UpdatePanel控件嵌套在另一个UpdatePanel中时   控制,父面板是   更新

  •   
  • 当回发是由定义为触发器的控件引起的   通过使用的触发器属性   UpdatePanel控件。在这种情况下,   控件明确触发一个   更新面板内容。该   控制可以在内部或   在UpdatePanel控件之外   触发器与。

  • 相关联   
  • 当ChildrenAsTriggers属性设置为true且为子级时   控制UpdatePanel控件   导致回发。儿童控制   嵌套的UpdatePanel控件没有   导致外部更新   除非它们是UpdatePanel控件   明确定义为触发器。

  •