ASP.NET 实践:声明两个 Web 部件控件之间的静态连接

通过页面中的声明,开发者可以为 Web 部件在两个服务器控件之间静态连接。与被声明的控件一样,静态连接会在 Web 页面中变成一个永久的对象。所有用户都可以看到静态的连接(因为它是已共享的对象),尽管可以提供用户界面(UI)选项来断开它与连接对象之间的联系,但它们不能够用来删除连接对象,当你需要一个连接始终为所有用户可用、并且不想要用户在页面中删除它的时候,选择静态连接是一个好主意。关于连接的详细内容,请参考“WebPartConnection 和 Web 部件连接概览”。关于静态连接的详细内容,请参考“IsStatic 属性”。该文章演示了如何在两个 WebPart 控件之间创建静态连接。

提示:该文章的关注点是如何在 Web 页面的标记中声明静态连接。要声明两个服务器控件之间的静态 Web 部件的连接,这些控件必须完全被设计成对连接进行处理,并且它们必须位于一个 WebPartZoneBase 区域中。关于参与连接的控件需求的完整描述,请参考“WebPartConnection 类”。要获得两个 WebPart 控件以及用于托管静态连接的 Web 页面(在该文章中演示)的实例代码,请参考 IsStatic 属性的“实例”部分。

如何在区域中声明服务器控件
  1. 在将要包含连接的 Web 页面的 <body> 部分添加一个 <WebPartZone> 元素,并添加一个子 <ZoneTemplate> 元素来包含你添加在区域中的服务器控件。代码看起来应该像下列实例。

    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
      </ZoneTemplate>
    </asp:WebPartZone>
    
  2. <ZoneTemplate> 元素标记之间,声明将会在 Web 部件的连接中扮演提供者和消费者控件的服务器控件。这些控件必须已经被设计成连接的参与者。你也可以在这个区域中添加其他的服务器控件。与此文章前面提示的一样,该实例中被声明的控件从实例代码中获得 IsStatic 属性。拥有服务器控件的全部区域的代码看起来如下。

    <asp:WebPartZone ID="WebPartZone1" runat="server">
      <ZoneTemplate>
        <aspSample:ZipCodeWebPart ID="zip1" runat="server"
           Title="ZIP Code Provider"  />
        <aspSample:WeatherWebPart ID="weather1" runat="server" 
           Title="ZIP Code Consumer" />
      </ZoneTemplate>
    </asp:WebPartZone> 
    
如何声明静态连接
  1. 现在你的 Web 页面应该已经有一个 <Asp:WebPartManager> 元素,它是页面使用 Web 部件控件时所必需的。为 <Asp:WebPartManager> 元素添加一个子元素 <StaticConnections> 来包含一个或多个已声明的静态连接。代码看起来应该像下列实例。

    <asp:WebPartManager ID="mgr" runat="server" >
      <StaticConnections>
      </StaticConnections> 
    </asp:WebPartManager> 
    
  2. <StaticConnection> 元素中,声明一个 <Asp:WebPartConnection> 元素。

    除了 idrunat 参数之外,你还必须为这个连接指定的下列所必需的参数:

    • ConsumerID - 指出连接中的消费者控件的 ID。

    • ConsumerConnectionPointID - 指出在消费者中被用来建立连接的特定回调方法的 ID。这个参数只有在消费者拥有多个连接点的时候才是必需的。关于连接点的详细内容,请参考“ConnectionPoint 类”。

    • ProviderID - 指出连接中的提供者控件的 ID。

    • ProviderConnectionPointID - 指出在提供者中被用来建立连接的特定回调方法的 ID。这个参数只有在提供者拥有多个连接点的时候才是必需的。

    <Asp:WebPartManager> 元素以及子静态连接的完整代码看起来应该像下列实例。

    <asp:WebPartManager ID="mgr" runat="server" >
      <StaticConnections>
        <asp:WebPartConnection ID="conn1"
          ConsumerConnectionPointID="ZipCodeConsumer"
          ConsumerID="weather1" 
          ProviderConnectionPointID="ZipCodeProvider" 
          ProviderID="zip1" />
      </StaticConnections>      
    </asp:WebPartManager>
    

转载于:https://www.cnblogs.com/Laeb/archive/2007/01/05/612736.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值