我可以从UserControl的UpdatePanel中调用父级的事件方法吗

本文关键字:事件 方法 UserControl UpdatePanel 我可以 调用 | 更新日期: 2023-09-27 18:19:58

我需要实现以下场景。

我有一个带有记录列表的GridView。当用户选择记录时,浏览器中会出现一个弹出屏幕,显示记录的内容。内容由UserControl呈现,在UserControl中有一个UpdatePanel,用于在操作和保存数据时加载/重新加载数据。

我需要做的是,每次在UserControl上保存后,父页上的GridView都需要刷新,以反映弹出式编辑器控件中显示的记录上的任何更改。

我的计划是在我的UserControl上设置一个事件,父页面也会订阅。当从UserControl中执行保存操作时,它将调用该事件,并且父页面应该更新自己。

但是,由于UserControlUpdatePanel中运行,并且只进行部分回发,我怀疑我的事件将无法正常工作。

这应该像我希望的那样工作吗?还是我需要找到另一种方法来告诉我的父页面在保存记录后刷新主GridView

如果我需要以不同的方式调用更新,那么这种情况下的最佳方法是什么?我之所以这么问,是因为我宁愿不构建一些复杂的保存/更新操作,却发现我做了一些错误的假设,需要重新编码整个更新和重新加载过程。

我可以从UserControl的UpdatePanel中调用父级的事件方法吗

我以前也做过,只是不记得具体是怎么做的,因为我已经有一段时间没有使用Web窗体了。你的想法是对的。该事件将在父页上引发,但之后必须执行另一个PostBack/Partial PostBack操作,才能从父页上的事件处理程序更新网格。此外,您还必须确保UpdatePanel上的属性设置正确。

另一种选择是在关闭弹出窗口时进行完全回发。如果弹出窗口足够大,阻止用户看到网格,那么网格上的记录是否在关闭模式时更新,而不是在保存数据时更新,将不会产生任何影响。