我在两个不同的webpart区域中有两个webpart。它们使用gridviews提供主/详细信息方案。它们是使用静态连接定义的。最初这很有用。
当我关闭其中一个webparts时,我收到消息“你即将关闭webpart。它当前正在向其他webparts提供数据,如果关闭此webpart,这些连接将被删除。单击OK继续。
这本身就没问题,所以我点击关闭,我的部分关闭。但是,当我打开目录区域并重新添加webpart(它被添加正常)时,部件之间的连接被破坏(如消息所述)。
但是我的HTML中的webpart连接仍然可见。我只能假设它使用ASPNET成员资格或其他来记住连接的ID而不是启用它。
我的问题是如何在代码或其他代码中重新启用连接!?
感谢。
答案 0 :(得分:0)
好的,我已经解决了我的问题。我将以下内容添加到WebpartManager.WebpartAdded()
中 '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Dim wp1 As WebPart = zoneDiaryTopLeft.WebParts("Ucl_Diary_Summary1")
Dim wp2 As WebPart = zoneDiaryTopRight.WebParts("Ucl_DiaryAwaitingReview1")
Dim providerConnectionPoint As ProviderConnectionPoint = _
WebPartManager1.GetProviderConnectionPoints(wp1)("IMessageProvider")
Dim consumerConnectionPoint As ConsumerConnectionPoint = _
WebPartManager1.GetConsumerConnectionPoints(wp2)("IMessageConsumer")
Dim returnValue As WebPartConnection
returnValue = WebPartManager1.ConnectWebParts(wp1, providerConnectionPoint, wp2, consumerConnectionPoint)
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
所有人都说,它如何知道/存储已删除的连接,并记住不允许它激活!?如果我可以阻止连接被删除或重新启用它会更容易。我知道动态连接是一种选择,但我不希望用户拥有这种能力,因为他们有足够的工作来理解你可以在屏幕上拖动webpart的事实。连接对他们来说是火箭的。