我有以下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之外。我该如何强制更新?
答案 0 :(得分:0)
如果要更新类服务器端,那么答案是肯定的。内部更新面板正在重新呈现并传递回客户端,但外部更新面板未被替换。当AJAX回调返回时,不会替换正在更新的实际面板之外的任何内容。您可能需要考虑在返回结果时添加一些更新div的javascript,作为更改类的简单解决方案。
答案 1 :(得分:0)
当“InsidePanel”中的Update
导致回发时,您是否只能在服务器上调用“OutsidePanel”UpdatePanel的Imagebutton
方法?或者,将ImageButton
点击事件设置为“OutsidePanel”的触发器
根据MSDN
如果UpdateMode属性设置为 有条件的,UpdatePanel控件 内容在以下更新 情况:
当您明确调用UpdatePanel控件的Update方法时。
当UpdatePanel控件嵌套在另一个UpdatePanel中时 控制,父面板是 更新
- 相关联
当回发是由定义为触发器的控件引起的 通过使用的触发器属性 UpdatePanel控件。在这种情况下, 控件明确触发一个 更新面板内容。该 控制可以在内部或 在UpdatePanel控件之外 触发器与。
当ChildrenAsTriggers属性设置为true且为子级时 控制UpdatePanel控件 导致回发。儿童控制 嵌套的UpdatePanel控件没有 导致外部更新 除非它们是UpdatePanel控件 明确定义为触发器。