У меня есть куча динамически созданных флажков в коде, например:
CheckBox[] checks = new CheckBox[n];
Где n — целое число, вычисляемое во время выполнения. Я добавил все эти флажки в сетку, поэтому все они видны на моей веб-странице ASP.NET, но теперь я хочу добавить их все в качестве триггеров на панель обновления. Таким образом, мне нужно сделать это в коде программной части:
<asp:UpdatePanel id="upPanel" runat="server">
<ContentTemplate>
// ...Contents of UpdatePanel...
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID=[Insert CheckBox Unique ID here] EventName="Click" />
//... n AsyncPostBackTriggers, one for each CheckBox ...
<asp:AsyncPostBackTrigger ControlID=[Insert CheckBox Unique ID here] EventName="Click" />
</Triggers>
</asp:UpdatePanel>
Но я понимаю, что мои динамически созданные CheckBoxes не имеют UniqueID, поэтому я не могу установить ControlID для AsyncPostBackTrigger. Есть ли способ установить уникальный идентификатор элемента управления ASP.NET в коде программной части?
Я пробовал это до сих пор:
for (int i=0; i<n; i++)
{
AsyncPostBackTrigger trigger = new AsyncPostBackTrigger();
trigger.ControlID = checks[i].UniqueID;
trigger.EventName = "Click";
upPanel.Triggers.Add(trigger);
}
Но в отладчике я вижу, что checks[i].UniqueID = "", что на самом деле не работает.
UniqueID
? - person John Saunders   schedule 09.09.2014ID
свойство. - person John Saunders   schedule 09.09.2014