UniqueID,页面子控件唯一标示

aspx:

< form  id ="form1"  runat ="server">
     < asp  : Repeater  ID ="MyDataList"  runat ="server">
         < ItemTemplate >
             < asp :  Label  ID  ="Mylbl"  runat  ="server"></ asp :  Label >
         </ ItemTemplate >
     </ asp  : Repeater >
   
     < asp  : Label  ID ="ResultsLabel"  runat ="server"></ asp  : Label >
     </ form  >
aspx.cs:
protected  void  Page_Load( object  sender,  EventArgs  e)
        {
             StringBuilder  sb =  new  StringBuilder ();
             // 获取 Repater  控件的命名控件
            sb.Append(  "Container:a"  + MyDataList.NamingContainer.ToString()+ "<p>"  );
 
             ArrayList  arrList =  new  ArrayList ();
            arrList.Add(  "a" );
            arrList.Add(  "b" );
            arrList.Add(  "c" );
 
            MyDataList.DataSource = arrList;
            MyDataList.DataBind();
 
             // 获取数据控件中集合的个数
             for  ( int  i = 0; i < MyDataList.Controls.Count; i++)
            {
 
                 Label  reLb= ( Label )(( RepeaterItem  )MyDataList.Controls[i]).FindControl( "Mylbl" );
                 // 获取 lbl  控件的命名控件
                sb.Append(  "Container:b"  + (( RepeaterItem )MyDataList.Controls[i]).NamingContainer.ToString() +  "@@" );
                 // lbl  添加唯一标示
                sb.Append(  "<b>"  + reLb.UniqueID +  "</b><p>"  );
 
            }
 
            ResultsLabel.Text = sb.ToString();
        }
 
运行结果:
UniqueID,页面子控件唯一标示
 
属性注释:

此属性与 ID 属性不同,因为 UniqueID 属性包含服务器控件命名容器的标识符。 处理页请求时自动生成此标识符。

此属性对于区分包含在其他重复的数据绑定服务器控件中的服务器控件尤其重要。 重复控件包括 RepeaterDataListDetailsViewFormView 和 GridView Web 服务器控件(或任何在数据绑定时创建的包含重复功能的自定义服务器控件),它们充当其子控件的命名容器。 这意味着它为其子控件创建唯一的命名空间,以使它们的 ID 属性值不冲突。

你可能感兴趣的:(unique)