PostBack上的UserControl,PlaceHolder和UpdatePanel

时间:2010-07-09 10:50:56

标签: asp.net updatepanel user-controls placeholder

我在User Control内动态加载Update Panel Place Holder

当我点击User Control中的某个按钮时,应刷新Update Panel内容,但它会刷新整个页面,并且用户控件正在从页面中消失,因为页面的{{1如果它是Page_Load,则不会加载任何内容。

我该如何解决?

4 个答案:

答案 0 :(得分:2)

每当发生部分或完全回发时,所有updatepanel的Automatically all update()方法都会触发。为防止出现此类行为,您需要设置UpdateMode="Conditional"属性。在这种情况下,您需要指定asynchronous triggerChildrenAsTriggers=true

用于防止动态加载的usercontrol消失,最好将其保存在ViewState中,Here is a tutorial and sample application

答案 1 :(得分:0)

我认为你需要在page_load或pre_render中重新注入控件。动态创建的控件不会通过回发生效。

答案 2 :(得分:0)

确保您正在创建控件每页请求,无论GET / POST如何。另外,请确保您为其提供相同的ID。

我想覆盖CreateChildControls方法。

答案 3 :(得分:0)

您需要在page_init方法中将控制页面添加到页面。必须在每个帖子上添加它。即使在将其添加回来之后,控件也会保留所有值。

There is a full working example at this link.