Если я вас правильно понимаю - вам нужен уникальный идентификатор для каждого элемента управления, верно? Если я прав, вы можете сделать следующее:
UserControl1.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="WebUserControl1.ascx.cs" Inherits="WebApplication2.WebUserControl1" %>
<asp:HiddenField ID="hdnID" runat="server" Value='<%# Bind("ID")' />
и UserControl1.cs:
namespace WebApplication2
{
public partial class WebUserControl1 : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string HiddenFildProperty
{
get { return hdnID.Value; }
set { hdnID.Value = value; }
}
}
}
и чем вы можете использовать этот элемент управления в любых шаблонах элементов управления, таких как Repeater, например:
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<mycontrols:WebUserControl1 ID="myControl1" HiddenFildProperty='<%#Bind("ID") %>'/>
</ItemTemplate>
</asp:Repeater>
Точно так же вы можете связать любые другие свойства в вашем элементе управления, например, напрямую связать их с DropDownExtander.