WebPartManager.CloseWebPart メソッドとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > WebPartManager.CloseWebPart メソッドの意味・解説 

WebPartManager.CloseWebPart メソッド

メモ : このメソッドは、.NET Framework version 2.0新しく追加されたものです。

Web ページ上に表示されなくても再度開くことができる方法WebPart コントロール終了します

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

例外例外
例外種類条件

ArgumentNullException

webPartnull 参照 (Visual Basic では Nothing) です。

ArgumentException

webPartControls コレクション内にありません。

または

webPart共有コントロールで、別のユーザーによって既に終了されています。

解説解説

CloseWebPart メソッドは、WebPart コントロールまたはその他のサーバー コントロール削除しこうしたコントロールが、組み込まれていた元の Web ページ上に表示されないようにします。終了したコントロールは、PageCatalogPart オブジェクト追加されます。このオブジェクトは、終了したコントロールへの参照保持し、そのコントロールページ復元できるようにします。終了した WebPart コントロールは、WebParts プロパティ参照されるコレクション引き続き表示されます。

コントロール終了削除とは異なります終了したコントロールページ復元する引き続き使用できますが、削除したコントロール インスタンスは完全に削除されるため復元できません。WebPart コントロールまたはサーバー コントロール静的 (ページマークアップ宣言) かまたは動的 (プログラムページ追加するかまたはユーザーWeb パーツ カタログから追加) かに関係なく、コントロール終了して再びページ上に開くことができます

通常ユーザーは、WebPart コントロール動詞メニュークリックしClose 動詞選択してこうしたコントロール終了できますまた、コントロールは、CloseWebPart メソッド直接呼び出して、それに webPart への参照を渡すことにより終了することもできます

WebPart コントロール終了したページ上で開発者<asp:catalogzone> 要素宣言しその内部に <asp:pagecatalogpart> 要素追加すると、実行時に、終了したコントロールページ復元する簡単なユーザー インターフェイス (UI) が表示されます。ユーザーは、ページカタログ表示モード切り替えることができます。これにより、終了したコントロールページ カタログ内に表示されます。ユーザーが、終了したコントロール選択してページ任意の位置に戻すと、選択したコントロールページ復元され通常どおり表示できます

CloseWebPart メソッド呼び出されると、WebPartClosing、SelectedWebPartChanging (複数コントロールがある場合)、WebPartsDisconnecting (接続コントロールがある場合) など、複数イベント発生します通常開発者はこれらのイベントキャンセルできますが、特定の場合ではキャンセルできません。詳細については、WebPartClosingSelectedWebPartChanging、および WebPartsDisconnecting の各イベントドキュメント参照してください

使用例使用例

CloseWebPart メソッド使用する方法次のコード例示します

コード例は、次の 4 つ部分から成ります

コード例最初部分は、表示モード変更するユーザー コントロールです。このユーザー コントロールソース コードは、WebPartManager クラス概要の「例」から取得できます表示モード詳細およびユーザー コントロール動作方法詳細については、「チュートリアル : Web パーツ ページでの表示モード変更」を参照してください

コード例2 番目の部分カスタム WebPart コントロールです。コード例実行するためには、このソース コードコンパイルする必要があります。それを明示的にコンパイルし、コンパイル済みアセンブリWeb サイトBin フォルダまたはグローバル アセンブリ キャッシュ配置できますサイトの App_Code フォルダソース コード配置し実行時動的にコンパイルすることもできます。この例では、動的コンパイル方法使用しますこのためWeb ページ先頭にあるこのコントロール用の Register ディレクティブAssembly 属性はありません。コンパイル方法を示すチュートリアルについては、「チュートリアル : カスタム サーバー コントロール開発と使用」を参照してください

Imports System
Imports System.Collections
Imports System.ComponentModel
Imports System.Drawing
Imports System.Security.Permissions
Imports System.Web
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 Class TextDisplayWebPart
    Inherits WebPart
    Private _contentText As String
 = Nothing
    Private _fontStyle As String
 = Nothing
    Private input As TextBox
    Private DisplayContent As Label
    Private lineBreak As Literal

    <Personalizable(), WebBrowsable()> _
    Public Property ContentText() As
 String
      Get
        Return _contentText
      End Get
      Set(ByVal value As
 String)
        _contentText = value
      End Set
    End Property

    Protected Overrides Sub
 CreateChildControls()
      Controls.Clear()
      DisplayContent = New Label()
      DisplayContent.BackColor = Color.LightBlue
      DisplayContent.Text = Me.ContentText
      Me.Controls.Add(DisplayContent)

      lineBreak = New Literal()
      lineBreak.Text = "<br />"
      Controls.Add(lineBreak)

      input = New TextBox()
      Me.Controls.Add(input)
      Dim update As New
 Button()
      update.Text = "Set Label Content"
      AddHandler update.Click, AddressOf Me.submit_Click
      Me.Controls.Add(update)

    End Sub

    Private Sub submit_Click(ByVal
 sender As Object, _
                             ByVal e As EventArgs)
      ' Update the label string.
      If input.Text <> String.Empty Then
        _contentText = input.Text + "<br />"
        input.Text = String.Empty
        DisplayContent.Text = Me.ContentText
      End If

    End Sub

  End Class

End Namespace
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Security.Permissions;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;

namespace Samples.AspNet.CS.Controls
{
  [AspNetHostingPermission(SecurityAction.Demand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  [AspNetHostingPermission(SecurityAction.InheritanceDemand,
    Level = AspNetHostingPermissionLevel.Minimal)]
  public class TextDisplayWebPart : WebPart
  {
    private String _contentText = null;
    TextBox input;
    Label DisplayContent;
    Literal lineBreak;

    [Personalizable(), WebBrowsable]
    public String ContentText
    {
      get { return _contentText; }
      set { _contentText = value; }
    }

    protected override void CreateChildControls()
    {
      Controls.Clear();
      DisplayContent = new Label();
      DisplayContent.BackColor = Color.LightBlue;
      DisplayContent.Text = this.ContentText;
      this.Controls.Add(DisplayContent);

      lineBreak = new Literal();
      lineBreak.Text = @"<br />";
      Controls.Add(lineBreak);

      input = new TextBox();
      this.Controls.Add(input);
      Button update = new Button();
      update.Text = "Set Label Content";
      update.Click += new EventHandler(this.submit_Click);
      this.Controls.Add(update);

    }

    private void submit_Click(object sender,
 EventArgs e)
    {
      // Update the label string.
      if (input.Text != String.Empty)
      {
        _contentText = input.Text + @"<br />";
        input.Text = String.Empty;
        DisplayContent.Text = this.ContentText;
      }
    }

  }
}

コード例3 番目の部分Web ページです。このページには CatalogZone ゾーン含まれその内部に <asp:pagecatalogpart> 要素宣言されています。終了した WebPart コントロールはここに格納されユーザーはそれをページに戻すことができますButton1_Click メソッドは、CloseWebPart メソッド直接呼び出しカスタム WebPart コントロール終了しますが、ユーザー動詞メニュー通じてこのコントロール終了できます

<%@ Page Language="vb" %>
<%@ Register TagPrefix="uc1" 
    TagName="DisplayModeMenuVB"
    Src="~/DisplayModeMenuVB.ascx" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="Samples.AspNet.VB.Controls"%>

<script runat="server">
  
  Protected Sub Button1_Click(ByVal
 sender As Object, _
    ByVal e As System.EventArgs)
    
    mgr1.CloseWebPart(text1)

  End Sub
</script>

<html  >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:WebPartManager ID="mgr1" runat="server"
 />
      <uc1:DisplayModeMenuVB ID="menu1" runat="server"
 />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:TextDisplayWebPart ID="text1"
 
            runat="server" 
            Title="My Text WebPart" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:PageCatalogPart ID="PageCatalogPart1"
 runat="server" />   
        </ZoneTemplate>
      </asp:CatalogZone>
      <asp:Button ID="Button1" runat="server"
 
        Text="Close WebPart" 
        OnClick="Button1_Click" />
    </form>
</body>
</html>
<%@ Page Language="C#" %>
<%@ Register TagPrefix="uc1" 
    TagName="DisplayModeMenuCS"
    Src="~/DisplayModeMenuCS.ascx" %>
<%@ Register TagPrefix="aspSample" 
    Namespace="Samples.AspNet.CS.Controls"%>

<script runat="server">
    
  protected void Button1_Click(object sender,
 EventArgs e)
  {
    mgr1.CloseWebPart(text1);
  }
  
</script>

<html  >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
      <asp:WebPartManager ID="mgr1" runat="server" />
      <uc1:DisplayModeMenuCS ID="menu1" runat="server" />
      <asp:WebPartZone ID="WebPartZone1" runat="server">
        <ZoneTemplate>
          <aspSample:TextDisplayWebPart ID="text1" 
            runat="server" 
            Title="My Text WebPart" />
        </ZoneTemplate>
      </asp:WebPartZone>
      <asp:CatalogZone ID="CatalogZone1" runat="server">
        <ZoneTemplate>
          <asp:PageCatalogPart ID="PageCatalogPart1" runat="server"
 />   
        </ZoneTemplate>
      </asp:CatalogZone>
      <asp:Button ID="Button1" runat="server" 
        Text="Close WebPart" 
        OnClick="Button1_Click" />
    </form>
</body>
</html>

ブラウザページ読み込んだ後、コントロールヘッダーにある動詞メニュー (矢印記号) をクリックし、[閉じる] をクリックしてカスタム WebPart コントロール終了します。[Display Mode] ドロップダウン リスト コントロールで [カタログ] を選択してページカタログ モード変更しますページ カタログに、終了したコントロール表示されます。終了したコントロールの横のチェック ボックスオンにし、[追加] をクリックしてこのコントロールページ追加します次に [閉じる] をクリックしてページブラウズ モード戻しますコントロールページ復元されます。今度は [Close WebPart] をクリックして、このコントロールもう一度終了します

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



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

辞書ショートカット

すべての辞書の索引

WebPartManager.CloseWebPart メソッドのお隣キーワード
検索ランキング

   

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



WebPartManager.CloseWebPart メソッドのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2025 GRAS Group, Inc.RSS