Control.UniqueID プロパティ
アセンブリ: System.Web (system.web.dll 内)


UniqueID プロパティにはサーバー コントロールの名前付けコンテナが含まれている点で、このプロパティは ID プロパティとは異なります。この ID は、ページ要求が処理されると自動的に生成されます。
このプロパティは、繰り返されるデータ バインディング サーバー コントロールの中に含まれているサーバー コントロールを区別する場合に、特に重要です。連続コントロールである Repeater、DataList、DataGrid の各 Web サーバー コントロール (またはデータ連結されたときに繰り返し機能を含めて作成したカスタム サーバー コントロール) は、子コントロールの名前付けコンテナとして機能します。したがって、ID プロパティ値が競合しないように、子コントロールの一意の名前空間が作成されます。
たとえば、Repeater サーバー コントロールに ASP.NET Label Web サーバー コントロールを含める場合は、Label コントロールに MyLabel の ID プロパティ値を割り当て、さらに Repeater に MyRepeater の ID プロパティ値を割り当てます。Repeater へのデータを、3 つのエントリを持つ ArrayList オブジェクトにバインドした場合、結果として取得される Label サーバー コントロールの各インスタンスの UniqueID プロパティは、MyRepeater:ctl0:MyLabel、MyRepeater:Ctl1:MyLabel、および MyRepeater:Ctl2:MyLabel となります。

ArrayList オブジェクトを作成して 3 つのテキスト文字列をそのオブジェクトに設定し、ページの読み込み時に ArrayList のデータを Repeater Web サーバー コントロールにバインドする例を次に示します。ユーザーが Button1_Click メソッドに関連付けられているボタンをクリックすると、DataBind メソッドが呼び出されたときに追加された Repeater の子コントロールごとに UniqueID プロパティが取得されます。
Private Sub Page_Load(sender As Object, e As EventArgs) ' Intialise ArrayList. Dim myArray As New ArrayList() myArray.Add("Hello") myArray.Add("World") myArray.Add("!") ' Bind ArrayList to Repeater control. Repeater1.DataSource = myArray Repeater1.DataBind() End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Dim i As Integer For i = 0 To Repeater1.Controls.Count - 1 Response.Write("<br>") Response.Write(Repeater1.Controls(i).UniqueID) Next i End Sub
private void Page_Load(object sender, EventArgs e) { // Intialise ArrayList. ArrayList myArray = new ArrayList(); myArray.Add("Hello"); myArray.Add("World"); myArray.Add("!"); // Bind ArrayList to Repeater control. Repeater1.DataSource = myArray; Repeater1.DataBind(); } private void Button1_Click(object sender, EventArgs e) { for (int i=0; i<Repeater1.Controls.Count; i++) { Response.Write("<br>"); Response.Write(Repeater1.Controls[i].UniqueID); } }
private void Page_Load(Object sender, EventArgs e) { // Intialise ArrayList. ArrayList myArray = new ArrayList(); myArray.Add("Hello"); myArray.Add("World"); myArray.Add("!"); // Bind ArrayList to Repeater control. Repeater1.set_DataSource(myArray); Repeater1.DataBind(); } //Page_Load private void Button1_Click(Object sender, EventArgs e) { for(int i=0;i < Repeater1.get_Controls().get_Count();i++) { get_Response().Write("<br>"); get_Response().Write( Repeater1.get_Controls().get_Item(i).get_UniqueID()); } } //Button1_Click

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からControl.UniqueID プロパティを検索する場合は、下記のリンクをクリックしてください。

- Control.UniqueID プロパティのページへのリンク