WebPartConnection.IsActive プロパティとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebPartConnection.IsActive プロパティの意味・解説 

WebPartConnection.IsActive プロパティ

メモ : このプロパティは、.NET Framework version 2.0新しく追加されたものです。

現在 WebPartConnection オブジェクト確立されていて、そのプロバイダ コントロールコンシューマ コントロールの間でデータ交換できるかどうかを示す値を取得します

名前空間: System.Web.UI.WebControls.WebParts
アセンブリ: System.Web (system.web.dll 内)
構文構文

解説解説

IsActive プロパティは、WebPartConnection オブジェクトの状態を示します接続がこの状態にある場合接続プロバイダ コントロールコンシューマ コントロール通信中で、共通のインターフェイスまたは WebPartTransformer オブジェクト通じてデータ交換できます

レンダリングされたページユーザー表示され通常のブラウズ モード接続確立している場合一般にその接続アクティブです。ただし、何らかの競合発生していたり、ページ読み込み時にその他の問題生じたりして、接続アクティブにできなかった場合除きますページコントロール有効期間における初期段階では、このプロパティ値は false です。WebPartManager コントロールで ConnectionsActivated イベント発生した直後に、接続アクティブなります具体的には、コンシューマが、プロバイダまたは WebPartTransformer オブジェクトから特定のインターフェイスインスタンス取得した後に接続アクティブなります

これは、ページ上に複数接続存在することが原因で、競合問題または同期問題発生する可能性がある状況で、接続アクティブかどうか把握する場合役立ちます。たとえば、2 つ接続の間に何らかの競合発生している場合は、WebPartManager コントロール接続1 つアクティブにしないよう指定して競合防止できます

使用例使用例

IsActive プロパティ使用するコード例次に示します

この例は、次の 3 つの部分構成されます。

コード例最初部分は、インターフェイスソース コード、およびコンシューマ コントロールプロバイダ コントロールソース コードです。コード例実行するためには、このソース コードコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みアセンブリWeb サイトBin フォルダまたはグローバル アセンブリ キャッシュ配置できますサイトの App_Code フォルダソース コード配置し実行時動的にコンパイルすることもできます。このコード例は、動的コンパイル使用しますコンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロール開発と使用」を参照してください

Imports System
Imports System.Web
Imports System.Web.Security
Imports System.Security.Permissions
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Web.UI.WebControls.WebParts

Namespace Samples.AspNet.VB.Controls

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Interface IZipCode

    Property ZipCode() As String

  End Interface

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class ZipCodeWebPart
    Inherits WebPart
    Implements IZipCode
    Private zipCodeText As String
 = String.Empty
    Private input As TextBox
    Private send As Button

    Public Sub New()
    End Sub

    ' Make the implemented property personalizable to save 
    ' the Zip Code between browser sessions.
    <Personalizable()> _
    Public Property ZipCode() As
 String _
      Implements IZipCode.ZipCode

      Get
        Return zipCodeText
      End Get
      Set(ByVal value As
 String)
        zipCodeText = value
      End Set
    End Property

    ' This is the callback method that returns the provider.
    <ConnectionProvider("Zip Code Provider", "ZipCodeProvider")>
 _
    Public Function ProvideIZipCode() As
 IZipCode
      Return Me
    End Function


    Protected Overrides Sub
 CreateChildControls()
      Controls.Clear()
      input = New TextBox()
      Me.Controls.Add(input)
      send = New Button()
      send.Text = "Enter 5-digit Zip Code"
      AddHandler send.Click, AddressOf Me.submit_Click
      Me.Controls.Add(send)

    End Sub


    Private Sub submit_Click(ByVal
 sender As Object, _
      ByVal e As EventArgs)

      If input.Text <> String.Empty Then
        zipCodeText = Page.Server.HtmlEncode(input.Text)
        input.Text = String.Empty
      End If

    End Sub

  End Class

  <AspNetHostingPermission(SecurityAction.Demand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  <AspNetHostingPermission(SecurityAction.InheritanceDemand, _
    Level:=AspNetHostingPermissionLevel.Minimal)> _
  Public Class WeatherWebPart
    Inherits WebPart
    Private _provider As IZipCode
    Private _zipSearch As String
    Private DisplayContent As Label

    ' This method is identified by the ConnectionConsumer 
    ' attribute, and is the mechanism for connecting with 
    ' the provider. 
    <ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")>
 _
    Public Sub GetIZipCode(ByVal
 Provider As IZipCode)
      _provider = Provider
    End Sub


    Protected Overrides Sub
 OnPreRender(ByVal e As EventArgs)
      EnsureChildControls()

      If Not (Me._provider
 Is Nothing) Then
        _zipSearch = _provider.ZipCode.Trim()
                DisplayContent.Text = "My Zip Code is:  "
 + _zipSearch
      End If

    End Sub 'OnPreRender

    Protected Overrides Sub
 CreateChildControls()
      Controls.Clear()
      DisplayContent = New Label()
      Me.Controls.Add(DisplayContent)

    End Sub

  End Class

End Namespace
namespace Samples.AspNet.CS.Controls
{
  using System;
  using System.Web;
  using System.Web.Security;
  using System.Security.Permissions;
  using System.Web.UI;
  using System.Web.UI.WebControls;
  using System.Web.UI.WebControls.WebParts;

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public interface IZipCode
  {
    string ZipCode { get; set;}
  }

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class ZipCodeWebPart : WebPart, IZipCode
  {
    string zipCodeText = String.Empty;
    TextBox input;
    Button send;

    public ZipCodeWebPart()
    {
    }

    // Make the implemented property personalizable to save 
    // the Zip Code between browser sessions.
    [Personalizable()]
    public virtual string ZipCode
    {
      get { return zipCodeText; }
      set { zipCodeText = value; }
    }

    // This is the callback method that returns the provider.
    [ConnectionProvider("Zip Code Provider", "ZipCodeProvider")]
    public IZipCode ProvideIZipCode()
    {
      return this;
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      input = new TextBox();
      this.Controls.Add(input);
      send = new Button();
      send.Text = "Enter 5-digit Zip Code";
      send.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(send);
    }

    private void submit_Click(object sender,
 EventArgs e)
    {
      if (input.Text != String.Empty)
      {
        zipCodeText = Page.Server.HtmlEncode(input.Text);
        input.Text = String.Empty;
      }
    }

  }

  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class WeatherWebPart : WebPart
  {
    private IZipCode _provider;
    string _zipSearch;
    Label DisplayContent;

    // This method is identified by the ConnectionConsumer 
    // attribute, and is the mechanism for connecting with 
    // the provider. 
    [ConnectionConsumer("Zip Code Consumer", "ZipCodeConsumer")]
    public void GetIZipCode(IZipCode Provider)
    {
      _provider = Provider;
    }
    
    protected override void OnPreRender(EventArgs
 e)
    {
      EnsureChildControls();

      if (this._provider != null)
      {
        _zipSearch = _provider.ZipCode.Trim();
        DisplayContent.Text = "My Zip Code is:  " + _zipSearch;
      }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      this.Controls.Add(DisplayContent);
    }

  }
}

コード例2 番目の部分Web ページです。先頭近くに、2 つ動的にコンパイルされた WebPart コントロールソース コード参照する Register ディレクティブありますページ<StaticConnections> 要素内に静的接続宣言されています。<script> 要素内に 4 つイベント ハンドラありますそれぞれのイベント ハンドラが、静的接続IsActive プロパティの値をチェックしページおよびコントロール有効期間その時点の状態について、接続アクティブかどうかを示すメッセージLabel コントロール書き込みます。この例は、どの時点接続アクティブになるかを示しページ表示した後もアクティブのままになることを示します

<%@ Page Language="VB" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="Samples.AspNet.VB.Controls"
 %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML
 1.0 Transitional//EN" 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">

  Protected Sub Button1_Click(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)
    
    Dim conn As WebPartConnection = mgr.StaticConnections(0)
    
    If conn.IsActive Then
      lbl1.Text += "<em>Connection 0 is active.</em>"
    Else
      lbl1.Text += "Connection 0 is inactive."
    End If
    
  End Sub
    
  Protected Sub mgr_ConnectionsActivated(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)
    
    If mgr.Connections(0).IsActive Then
      lbl2.Text += "<em>Connection 0 is active.</em>"
    Else
      lbl2.Text += "Connection 0 is inactive."
    End If
    
  End Sub

  Protected Sub mgr_ConnectionsActivating(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)

    If mgr.Connections(0).IsActive Then
      lbl3.Text += "<em>Connection 0 is active.</em>"
    Else
      lbl3.Text += "Connection 0 is inactive."
    End If
    
  End Sub

  Protected Sub Page_PreRender(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)

    If mgr.Connections(0).IsActive Then
      lbl4.Text += "<em>Connection 0 is active.</em>"
    Else
      lbl4.Text += "Connection 0 is inactive."
    End If
    
  End Sub
</script>

<html  >
<head id="Head1" runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server"
 
        OnConnectionsActivated="mgr_ConnectionsActivated"
 
        OnConnectionsActivating="mgr_ConnectionsActivating">
        <StaticConnections>
          <asp:WebPartConnection ID="conn1"
            ConsumerConnectionPointID="ZipCodeConsumer"
            ConsumerID="weather1" 
            ProviderConnectionPointID="ZipCodeProvider"
 
            ProviderID="zip1" />
        </StaticConnections>      
      </asp:WebPartManager>
      <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>
      <asp:ConnectionsZone ID="ConnectionsZone1"
 runat="server">
      </asp:ConnectionsZone>
      <asp:Button ID="Button1" runat="server"
 
        Text="Connection Details" 
        OnClick="Button1_Click" />
      <br />
      <asp:Label ID="lbl1" runat="server">
        <h3>Button_Click Status</h3>
      </asp:Label>
      <br />
      <asp:Label ID="lbl2" runat="server">
        <h3>ConnectionActivating Status</h3>
      </asp:Label>
      <br />
      <asp:Label ID="lbl3" runat="server">
        <h3>ConnectionActivated Status</h3>
      </asp:Label>
      <br />
      <asp:Label ID="lbl4" runat="server">
        <h3>ConnectionActivated Status</h3>
      </asp:Label>
    </div>
    </form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ register tagprefix="aspSample" 
    namespace="Samples.AspNet.CS.Controls" %>
    
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<script runat="server">
  
  protected void Button1_Click(object sender,
 EventArgs e)
  {
    WebPartConnection conn = mgr.StaticConnections[0];
    
    if (conn.IsActive)
      lbl1.Text += "<em>Connection 0 is active.</em>";
    else
      lbl1.Text += "Connection 0 is inactive.";
  }

  protected void mgr_ConnectionsActivated(object
 sender, EventArgs e)
  {
    if(mgr.Connections[0].IsActive)
      lbl2.Text += "<em>Connection 0 is active.</em>";
    else
      lbl2.Text += "Connection 0 is inactive.";
  }

  protected void mgr_ConnectionsActivating(object
 sender, EventArgs e)
  {
    if (mgr.Connections[0].IsActive)
      lbl3.Text += "<em>Connection 0 is active.</em>";
    else
      lbl3.Text += "Connection 0 is inactive.";
  }

  protected void Page_PreRender(object sender,
 EventArgs e)
  {
    if (mgr.Connections[0].IsActive)
      lbl4.Text += "<em>Connection 0 is active.</em>";
    else
      lbl4.Text += "Connection 0 is inactive.";
  }
</script>

<html  >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
      <asp:WebPartManager ID="mgr" runat="server" 
        onconnectionsactivated="mgr_ConnectionsActivated" 
        onconnectionsactivating="mgr_ConnectionsActivating">
        <StaticConnections>
          <asp:WebPartConnection ID="conn1"
            ConsumerConnectionPointID="ZipCodeConsumer"
            ConsumerID="weather1" 
            ProviderConnectionPointID="ZipCodeProvider" 
            ProviderID="zip1" />
        </StaticConnections>      
      </asp:WebPartManager>
      <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>
      <asp:ConnectionsZone ID="ConnectionsZone1" runat="server">
      </asp:ConnectionsZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Connection Details" 
        OnClick="Button1_Click" />
      <br />
      <asp:Label ID="lbl1" runat="server">
        <h3>Button_Click Status</h3>
      </asp:Label>
      <br />
      <asp:Label ID="lbl2" runat="server">
        <h3>ConnectionActivating Status</h3>
      </asp:Label>
      <br />
      <asp:Label ID="lbl3" runat="server">
        <h3>ConnectionActivated Status</h3>
      </asp:Label>
      <br />
      <asp:Label ID="lbl4" runat="server">
        <h3>ConnectionActivated Status</h3>
      </asp:Label>
    </div>
    </form>
</body>
</html>

ブラウザページ読み込みます。既に静的接続作成されページおよびコントロール有効期間さまざまな時点接続アクティブであったかどうかを示すメッセージが既にラベル書き込まれています。[Connection Details] をクリックしその時点で接続アクティブでなくても、ConnectionsActivated イベント発生するたびに接続が再びアクティブになり、ページの PreRender イベント発生した後もアクティブのままになることを確認します

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
WebPartConnection クラス
WebPartConnection メンバ
System.Web.UI.WebControls.WebParts 名前空間
WebPart.IsStatic プロパティ
ActivateConnections
ConnectionsActivated
ConnectionsActivating
その他の技術情報
ASP.NET Web パーツ ページ


このページでは「.NET Framework クラス ライブラリ リファレンス」からWebPartConnection.IsActive プロパティを検索した結果を表示しています。
Weblioに収録されているすべての辞書からWebPartConnection.IsActive プロパティを検索する場合は、下記のリンクをクリックしてください。
 全ての辞書からWebPartConnection.IsActive プロパティ を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

WebPartConnection.IsActive プロパティのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



WebPartConnection.IsActive プロパティのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS