C# 控制在中继器中获取相同名称的所有

C# 控制在中继器中获取相同名称的所有,c#,asp.net,webforms,C#,Asp.net,Webforms,我正在尝试向UpdatePanel中的中继器添加一系列控件。问题是中继器没有为控件提供唯一的ID。我想要的结果是一组像这样的多个面板 <asp:UpdatePanel> <contentpanel> <div id="groupdiv> <div id="HeaderDiv> <asp:checkbox id="headerItem" /> </div> <

我正在尝试向UpdatePanel中的中继器添加一系列控件。问题是中继器没有为控件提供唯一的ID。我想要的结果是一组像这样的多个面板

<asp:UpdatePanel>
  <contentpanel>
    <div id="groupdiv>
      <div id="HeaderDiv>
        <asp:checkbox id="headerItem" />
      </div>
      <div id="townDiv">
        <asp:checkbox id="townItem" />
        <asp:checkbox id="townItem" />
        <asp:checkbox id="townItem" />
      </div>
    </div>
  <contentpanel>
</asp:updatePanel>
我也尝试过立即添加元素,而不是等到构建完整的组,但最终还是出现了相同的错误。为什么中继器没有给我的复选框唯一的ID。同样重要的是要注意,我需要让中继器给复选框一个唯一的id,因为我以后需要迭代它们,不能给它们一个像这样的id

checkbox.ID = "townItem" + repeater.PrimaryKey

一个简单的谷歌搜索可以帮你节省@DJKRAZE的时间,这与我想做的正好相反。我尝试过这种方法,但是由于我的OnItemDataBound函数中的所有逻辑,这种方法不起作用。它将更新中继器,调用该功能并有效地断开页面。UpdatePanel需要在中继器中。@DJKRAZE同时添加clientIDMode=“AutoID”并不能解决此问题。中继器的正常行为与此类似,因此它仍然创建具有相同ID的项。
checkbox.ID = "townItem" + repeater.PrimaryKey