ControlIDConverterとは? わかりやすく解説

ControlIDConverter クラス

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

現在のコンテナからコントロール ID のリストを取得する型コンバータを提供します。

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

Public Class ControlIDConverter
    Inherits StringConverter
Dim instance As ControlIDConverter
public class ControlIDConverter : StringConverter
public ref class ControlIDConverter : public
 StringConverter
public class ControlIDConverter extends StringConverter
public class ControlIDConverter extends
 StringConverter
解説解説
使用例使用例

コントロール ID の表示を TypeConverter に対して要求するクラス内で ControlIDConverter を使用する方法のコード例を次に示します。DebugInfoControl は、現在の Web フォームに格納されているコントロールの一部の情報を印刷する単純なコントロールです。その ControlID プロパティは、ControlIDConverter をそのプロパティで使用する TypeConverter として指定する TypeConverterAttribute で装飾されています。DebugInfoControl は Render メソッドをオーバーライドして、Label コントロール内の対象のコントロールに関する情報を印刷します。

Imports System
Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.WebControls

Namespace Samples.AspNet.VB

  <DefaultProperty("ControlID")>  _
  Public Class DebugInfoControl
     Inherits Control


     Public Sub New()
     End Sub 'New


     Public Sub New(controlID
 As String)
        ControlID = controlID
     End Sub 'New


     <DefaultValue(""), TypeConverter(GetType(ControlIDConverter))>
  _
     Public Property ControlID() As
 String
        Get
           Dim o As Object
 = ViewState("ControlID")
           If o Is Nothing
 Then
              Return String.Empty
           End If
           Return CStr(o)
        End Get
        Set
           If ControlID <> value Then
              ViewState("ControlID") = value
           End If
        End Set
     End Property


     Protected Overrides Sub
 Render(writer As HtmlTextWriter)

        Dim info As New
 Label()

        If Me.ControlID.Length = 0 Then
           writer.Write("<Font Color='Red'>No ControlID set.</Font>")
        End If

        Dim ctrl As Control = Me.FindControl(ControlID)


        If ctrl Is Nothing
 Then
           writer.Write(("<Font Color='Red'>Could not find
 control " + ControlID + " in Naming Container.</Font>"))
        Else
           writer.Write(("<Font Color='Green'>Control "
 + ControlID + " found.<BR>"))
           writer.Write(("Its Naming Container is: "
 + ctrl.NamingContainer.ID + "<BR>"))
           If ctrl.EnableViewState Then
              writer.Write("It uses view state to persist its
 state.<BR>")
           End If
           If ctrl.EnableTheming Then
              writer.Write("It can be assigned a Theme ID.<BR>")
           End If
           If ctrl.Visible Then
              writer.Write("It is visible on the page.<BR>")
           Else
              writer.Write("It is not visible on the page.<BR>")
           End If
           writer.Write("</Font>")
        End If
     End Sub 'Render
  End Class 'DebugInfoControl
End Namespace
namespace Samples.AspNet.CS {

  using System;
  using System.ComponentModel;
  using System.Web.UI;
  using System.Web.UI.WebControls;


  [DefaultProperty("ControlID")]
  public class DebugInfoControl : Control {

    public DebugInfoControl() {
    }

    public DebugInfoControl(string controlID)
 {
      ControlID = controlID;
    }

    [DefaultValue(""),
    TypeConverter(typeof(ControlIDConverter))]
    public string ControlID {
      get {
        object o = ViewState["ControlID"];
        if (o == null)
          return String.Empty;
        return (string)o;
      }
      set {
        if (ControlID != value) {
          ViewState["ControlID"] = value;
        }
      }
    }

    protected override void Render(HtmlTextWriter
 writer) {

      Label info = new Label();

      if (this.ControlID.Length == 0) {
        writer.Write("<Font Color='Red'>No ControlID set.</Font>");
      }

      Control ctrl = this.FindControl(ControlID);


      if (ctrl == null) {
        writer.Write("<Font Color='Red'>Could not find control "
 +  ControlID + " in Naming Container.</Font>");
      }
      else {
        writer.Write("<Font Color='Green'>Control " + ControlID +
 " found.<BR>");
        writer.Write("Its Naming Container is: " + ctrl.NamingContainer.ID
 + "<BR>");
        if (ctrl.EnableViewState)
          writer.Write("It uses view state to persist its state.<BR>");

        if (ctrl.EnableTheming)
          writer.Write("It can be assigned a Theme ID.<BR>");

        if (ctrl.Visible)
          writer.Write("It is visible on the page.<BR>");
        else
          writer.Write("It is not visible on the page.<BR>");

        writer.Write("</Font>");

      }
    }
  }
}
package Samples.AspNet.JSL ;

import System.*;
import System.ComponentModel.*;
import System.Web.UI.*;
import System.Web.UI.WebControls.*;

/** @attribute DefaultProperty("ControlID")
 */
public class DebugInfoControl extends Control
{
    public DebugInfoControl()
    {
    } //DebugInfoControl

    public DebugInfoControl(String controlID)
    {
        set_ControlID(controlID);
    } //DebugInfoControl

    /** @attribute DefaultValue("")
     *  @attribute TypeConverter(ControlIDConverter.class)
     */
    /** @property 
     */
    public String get_ControlID()
    {
        Object o = get_ViewState().get_Item("ControlID");
        if (o == null) {
            return "";
        }
        return (String)(o);
    }//get_ControlID

    /** @property 
     */
    public void set_ControlID(String value)
    {
        if (!(get_ControlID().Equals(value))) {
            get_ViewState().set_Item("ControlID", value);
        }
    }//set_ControlID

    protected void Render(HtmlTextWriter writer)
    {
        Label info = new Label();
        if (this.get_ControlID().length() ==
 0) {
            writer.Write("<Font Color='Red'>No ControlID set.</Font>");
        }

        Control ctrl = this.FindControl(get_ControlID());

        if (ctrl == null) {
            writer.Write(("<Font Color='Red'>Could not find control "
 
                + get_ControlID() + " in Naming Container.</Font>"));
        }
        else {
            writer.Write(("<Font Color='Green'>Control " + get_ControlID()
                + " found.<BR>"));
            writer.Write(("Its Naming Container is: " +
                ctrl.get_NamingContainer().get_ID() + "<BR>"));

            if (ctrl.get_EnableViewState()) {
                writer.Write("It uses view state to persist its state.<BR>");
            }

            if (ctrl.get_EnableTheming()) {
                writer.Write("It can be assigned a Theme ID.<BR>");
            }

            if (ctrl.get_Visible()) {
                writer.Write("It is visible on the page.<BR>");
            }
            else {
                writer.Write("It is not visible on the page.<BR>");
            }
            writer.Write("</Font>");
        }
    } //Render
} //DebugInfoControl   

DebugInfoControl を AccessDataSource コントロールと共に Web フォームで使用して、AccessDataSource コントロールに関する情報を表示する方法のコード例を次に示します。

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

      <asp:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataReader"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID FROM Orders WHERE EmployeeID=2">
      </asp:accessdatasource>

      <p>
      <aspSample:debuginfocontrol
          id="DebugInfoControl1"
          runat="server"
          controlid="AccessDataSource1" />

    </FORM>
  </BODY>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.CS"
 assembly="Samples.AspNet.CS" %>
<%@Page  Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
  <BODY>
    <FORM runat="server">

      <asp:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataReader"
          datafile="Northwind.mdb"
          selectcommand="SELECT OrderID FROM Orders WHERE EmployeeID=2">
      </asp:accessdatasource>

      <p>
      <aspSample:debuginfocontrol
          id="DebugInfoControl1"
          runat="server"
          controlid="AccessDataSource1" />

    </FORM>
  </BODY>
</HTML>
<%@ Register TagPrefix="aspSample" Namespace="Samples.AspNet.JSL"
 assembly="Samples.AspNet.JSL" %>
<%@Page  Language="VJ#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<HTML>
  <BODY>
    <FORM runat="server">

      <asp:accessdatasource
          id="AccessDataSource1"
          runat="server"
          datasourcemode="DataReader"
          datafile="Northwind.mdb"
          SelectCommand = "SELECT OrderID
            FROM Orders
            WHERE EmployeeID=2">          
      </asp:accessdatasource>

      <p>
      <aspSample:debuginfocontrol
          id="DebugInfoControl1"
          runat="server"
          controlid="AccessDataSource1" />

    </FORM>
  </BODY>
</HTML>
.NET Framework のセキュリティ.NET Framework のセキュリティ
継承階層継承階層
System.Object
   System.ComponentModel.TypeConverter
     System.ComponentModel.StringConverter
      System.Web.UI.WebControls.ControlIDConverter
         System.Web.UI.WebControls.AssociatedControlConverter
         System.Web.UI.WebControls.ValidatedControlConverter
スレッド セーフスレッド セーフ
この型の public static (Visual Basic では Shared) メンバはすべて、スレッド セーフです。インスタンス メンバの場合は、スレッド セーフであるとは限りません。
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ControlIDConverter メンバ
System.Web.UI.WebControls 名前空間
TypeConverter
AssociatedControlConverter クラス
ValidatedControlConverter
その他の技術情報
方法 : 型コンバータを実装する
一般的な型変換

ControlIDConverter コンストラクタ

メモ : このコンストラクタは、.NET Framework version 2.0 で新しく追加されたものです。

ControlIDConverter クラスの新しいインスタンスを初期化します。

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

Dim instance As New ControlIDConverter
public ControlIDConverter ()
public:
ControlIDConverter ()
public ControlIDConverter ()
public function ControlIDConverter ()
解説解説
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
ControlIDConverter クラス
ControlIDConverter メンバ
System.Web.UI.WebControls 名前空間
その他の技術情報
方法 : 型コンバータを実装する
一般的な型変換

ControlIDConverter メソッド


パブリック メソッドパブリック メソッド

( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CanConvertFrom  オーバーロードされます。 このコンバータで、指定したコンテキストを使用して、指定したソース型のオブジェクトを文字列に変換できるかどうかを示す値を取得します。 ( StringConverter から継承されます。)
パブリック メソッド CanConvertTo  オーバーロードされます。 コンバータがオブジェクトを指定した型に変換できるかどうかを示す値を返します。 ( TypeConverter から継承されます。)
パブリック メソッド ConvertFrom  オーバーロードされます。 指定した値オブジェクトを String オブジェクトに変換します。 ( StringConverter から継承されます。)
パブリック メソッド ConvertFromInvariantString  オーバーロードされます。 インバリアント カルチャを使用して、値をコンバータの型に変換します。 ( TypeConverter から継承されます。)
パブリック メソッド ConvertFromString  オーバーロードされます。 指定したテキストをオブジェクトに変換します。 ( TypeConverter から継承されます。)
パブリック メソッド ConvertTo  オーバーロードされます。 指定した値オブジェクトを、指定した型に変換します。 ( TypeConverter から継承されます。)
パブリック メソッド ConvertToInvariantString  オーバーロードされます。 指定した値を、インバリアント カルチャを使用した文字列形式に変換します。 ( TypeConverter から継承されます。)
パブリック メソッド ConvertToString  オーバーロードされます。 指定した値を文字列形式に変換します。 ( TypeConverter から継承されます。)
パブリック メソッド CreateInstance  オーバーロードされます。 Object の一連のプロパティ値を指定して、そのオブジェクトを再作成します。 ( TypeConverter から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 ( Object から継承されます。)
パブリック メソッド GetCreateInstanceSupported  オーバーロードされます。 このオブジェクトの値を変更するときに CreateInstance メソッドを呼び出して、新しい値を作成する必要があるかどうかを返します。 ( TypeConverter から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 ( Object から継承されます。)
パブリック メソッド GetProperties  オーバーロードされます。 value パラメータに指定された配列型のプロパティのコレクションを返します。 ( TypeConverter から継承されます。)
パブリック メソッド GetPropertiesSupported  オーバーロードされます。 オブジェクトがプロパティをサポートしているかどうかを示す値を返します。 ( TypeConverter から継承されます。)
パブリック メソッド GetStandardValues オーバーロードされます。 デザイン時に現在のコンテナからコントロール ID のリストを返します。
パブリック メソッド GetStandardValuesExclusive オーバーロードされます。 GetStandardValues メソッドから返されたコントロール ID 値のコレクションが有効値の除外リストかどうかを示す値を取得します。
パブリック メソッド GetStandardValuesSupported オーバーロードされます。 リストから選択できる標準のコントロール ID 値セットをこのコンバータがサポートしているかどうかを示す値を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 ( Object から継承されます。)
パブリック メソッド IsValid  オーバーロードされます。 指定した値オブジェクトが型に対して有効かどうかを示す値を返します。 ( TypeConverter から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 ( Object から継承されます。)
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド FilterControl 指定されたコントロールのコントロール ID が、GetStandardValues メソッドから返される TypeConverter.StandardValuesCollection に追加されるかどうかを示す値を返します。
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 ( Object から継承されます。)
プロテクト メソッド GetConvertFromException  変換を実行できなかった場合にスローされる例外を返します。 ( TypeConverter から継承されます。)
プロテクト メソッド GetConvertToException  変換を実行できなかった場合にスローされる例外を返します。 ( TypeConverter から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 ( Object から継承されます。)
プロテクト メソッド SortProperties  プロパティのコレクションを並べ替えます。 ( TypeConverter から継承されます。)
参照参照

関連項目

ControlIDConverter クラス
System.Web.UI.WebControls 名前空間
TypeConverter
AssociatedControlConverter クラス
ValidatedControlConverter

その他の技術情報

方法 : 型コンバータを実装する
一般的な型変換

ControlIDConverter メンバ

現在のコンテナからコントロール ID のリストを取得する型コンバータを提供します。

ControlIDConverter データ型で公開されるメンバを以下の表に示します。


パブリック コンストラクタパブリック コンストラクタ
  名前 説明
パブリック メソッド ControlIDConverter ControlIDConverter クラスの新しいインスタンスを初期化します。
パブリック メソッドパブリック メソッド
( プロテクト メソッド も参照)
  名前 説明
パブリック メソッド CanConvertFrom  オーバーロードされます。 このコンバータで、指定したコンテキストを使用して、指定したソース型のオブジェクトを文字列に変換できるかどうかを示す値を取得します。 (StringConverter から継承されます。)
パブリック メソッド CanConvertTo  オーバーロードされます。 コンバータがオブジェクトを指定した型に変換できるかどうかを示す値を返します。 (TypeConverter から継承されます。)
パブリック メソッド ConvertFrom  オーバーロードされます。 指定した値オブジェクトを String オブジェクトに変換します。 (StringConverter から継承されます。)
パブリック メソッド ConvertFromInvariantString  オーバーロードされます。 インバリアント カルチャを使用して、値をコンバータの型に変換します。 (TypeConverter から継承されます。)
パブリック メソッド ConvertFromString  オーバーロードされます。 指定したテキストをオブジェクトに変換します。 (TypeConverter から継承されます。)
パブリック メソッド ConvertTo  オーバーロードされます。 指定した値オブジェクトを、指定した型に変換します。 (TypeConverter から継承されます。)
パブリック メソッド ConvertToInvariantString  オーバーロードされます。 指定した値を、インバリアント カルチャを使用した文字列形式に変換します。 (TypeConverter から継承されます。)
パブリック メソッド ConvertToString  オーバーロードされます。 指定した値を文字列形式に変換します。 (TypeConverter から継承されます。)
パブリック メソッド CreateInstance  オーバーロードされます。 Object の一連のプロパティ値を指定して、そのオブジェクトを再作成します。 (TypeConverter から継承されます。)
パブリック メソッド Equals  オーバーロードされます。 2 つの Object インスタンスが等しいかどうかを判断します。 (Object から継承されます。)
パブリック メソッド GetCreateInstanceSupported  オーバーロードされます。 このオブジェクトの値を変更するときに CreateInstance メソッドを呼び出して、新しい値を作成する必要があるかどうかを返します。 (TypeConverter から継承されます。)
パブリック メソッド GetHashCode  特定の型のハッシュ関数として機能します。GetHashCode は、ハッシュ アルゴリズムや、ハッシュ テーブルのようなデータ構造での使用に適しています。 (Object から継承されます。)
パブリック メソッド GetProperties  オーバーロードされます。 value パラメータに指定された配列型のプロパティのコレクションを返します。 (TypeConverter から継承されます。)
パブリック メソッド GetPropertiesSupported  オーバーロードされます。 オブジェクトがプロパティをサポートしているかどうかを示す値を返します。 (TypeConverter から継承されます。)
パブリック メソッド GetStandardValues オーバーロードされます。 デザイン時に現在のコンテナからコントロール ID のリストを返します。
パブリック メソッド GetStandardValuesExclusive オーバーロードされます。 GetStandardValues メソッドから返されたコントロール ID 値のコレクションが有効値の除外リストかどうかを示す値を取得します。
パブリック メソッド GetStandardValuesSupported オーバーロードされます。 リストから選択できる標準のコントロール ID 値セットをこのコンバータがサポートしているかどうかを示す値を返します。
パブリック メソッド GetType  現在のインスタンスの Type を取得します。 (Object から継承されます。)
パブリック メソッド IsValid  オーバーロードされます。 指定した値オブジェクトが型に対して有効かどうかを示す値を返します。 (TypeConverter から継承されます。)
パブリック メソッド ReferenceEquals  指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。)
パブリック メソッド ToString  現在の Object を表す String を返します。 (Object から継承されます。)
プロテクト メソッドプロテクト メソッド
  名前 説明
プロテクト メソッド FilterControl 指定されたコントロールのコントロール ID が、GetStandardValues メソッドから返される TypeConverter.StandardValuesCollection に追加されるかどうかを示す値を返します。
プロテクト メソッド Finalize  Object がガベージ コレクションにより収集される前に、その Object がリソースを解放し、その他のクリーンアップ操作を実行できるようにします。 (Object から継承されます。)
プロテクト メソッド GetConvertFromException  変換を実行できなかった場合にスローされる例外を返します。 (TypeConverter から継承されます。)
プロテクト メソッド GetConvertToException  変換を実行できなかった場合にスローされる例外を返します。 (TypeConverter から継承されます。)
プロテクト メソッド MemberwiseClone  現在の Object の簡易コピーを作成します。 (Object から継承されます。)
プロテクト メソッド SortProperties  プロパティのコレクションを並べ替えます。 (TypeConverter から継承されます。)
参照参照

関連項目

ControlIDConverter クラス
System.Web.UI.WebControls 名前空間
TypeConverter
AssociatedControlConverter クラス
ValidatedControlConverter

その他の技術情報

方法 : 型コンバータを実装する
一般的な型変換



英和和英テキスト翻訳

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

辞書ショートカット

すべての辞書の索引

「ControlIDConverter」の関連用語

ControlIDConverterのお隣キーワード
検索ランキング

   

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



ControlIDConverterのページの著作権

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

©2026 GRAS Group, Inc.RSS