代码之家  ›  专栏  ›  技术社区  ›  JamesM

ASP.NET Web部件静态连接

  •  0
  • JamesM  · 技术社区  · 17 年前

    我在两个不同的Web部件区域中有两个Web部件。它们使用网格视图提供主/细节场景。它们是使用静态连接定义的。起初这很管用。

    一旦我关闭其中一个Web部件,就会收到消息“您将要关闭该Web部件”。它当前正在向其他Web部件提供数据,如果关闭此Web部件,这些连接将被删除。单击“确定”继续。

    这本身是好的,所以我单击关闭,我的部分关闭。但是,当我打开目录区域并重新添加Web部件(添加得很好)时,部件之间的连接断开(如消息所述)。

    但是,我的HTML中的Web部件连接仍然可见。我只能假设它使用aspnet成员身份或其他身份来记住连接的ID,而不启用它。

    我的问题是如何在代码或其他中重新启用连接!?

    谢谢。

    1 回复  |  直到 17 年前
        1
  •  0
  •   JamesM    17 年前

    好的,我已经解决了我的问题。我在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)
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
    

    所有人都说,它如何知道/存储被删除的连接,并记住不要让它处于活动状态!?如果我可以停止删除连接或重新启用连接,会更容易。我知道动态连接是一种选择,但我不希望用户拥有这种能力,因为他们有足够的工作要理解这样一个事实:你可以在屏幕上拖动一个Web部件。与他们的关系是不稳定的。

    推荐文章