WebPartManager.WebPartsDisconnecting 事件

定义

在结束以前连接的 WebPart 或服务器控件之间的连接的过程中发生。

public:
 event System::Web::UI::WebControls::WebParts::WebPartConnectionsCancelEventHandler ^ WebPartsDisconnecting;
public event System.Web.UI.WebControls.WebParts.WebPartConnectionsCancelEventHandler WebPartsDisconnecting;
member this.WebPartsDisconnecting : System.Web.UI.WebControls.WebParts.WebPartConnectionsCancelEventHandler 
Public Custom Event WebPartsDisconnecting As WebPartConnectionsCancelEventHandler 

事件类型

注解

事件 WebPartsDisconnectingOnWebPartsDisconnecting 方法引发,它表示用户单击了断开连接谓词,或者 DisconnectWebParts 已以其他方式调用了 该方法。 事件提供了在连接完成之前取消结束连接的过程的机会。 如果连接已成功完成,则此事件后跟事件 WebPartsDisconnected

页面开发人员可以通过将 属性添加到 <asp:webpartmanager> 元素并将自定义方法名称分配给属性来为 事件添加OnWebPartsDisconnecting自定义处理程序。

通常,当 WebPartsDisconnecting 事件作为用户结束连接的操作的直接结果引发时,可以取消该事件。 但是,在某些情况下,事件无法取消。 第一种情况是,如果删除某个 WebPartZone 控件,则它包含的 WebPart 控件必须全部关闭,否则它们将成为孤立控件。 在这种情况下, WebPartManager 控件关闭 WebPart 控件,而不是用户,并且它还必须能够终止任何连接的控件的连接,而不会中断,以便它可以完成清理和关闭所有控件的过程。 因此,根据设计, WebPartsDisconnecting 此方法在此方案中不能取消。 有关可取消的相关事件,请参阅 事件 WebPartClosing

无法取消事件的第二种情况 WebPartsDisconnectingActivateConnections ,调用 方法 (每次请求页面(例如,) )期间调用此方法,并且页面上的现有连接存在某种类型的冲突。 例如,也许用户将控件 x 连接到控件 y,但共享用户将控件 x 连接到控件 z,但不允许控件 x 形成多个连接。 在这种情况下,单个用户的连接设置优先,控件 WebPartManager 通过调用 DisconnectWebPart 方法并结束特定用户 x 和 z 之间的连接来解决冲突。 由于这种断开连接对于解决冲突至关重要,因此根据设计, WebPartsDisconnecting 在这种情况下,无法取消该事件。

无法取消方法的第三种WebPart情况WebPartsDisconnecting是删除或关闭当前连接的 或 服务器控件。 由于控件肯定会从页面中删除,因此删除其连接是一种逻辑必要条件。 因此,当 WebPartManager 控件调用 DisconnectWebPart 方法(该方法又引发 WebPartsDisconnecting 事件)时,设计上不可能取消事件。

适用于

另请参阅