Несмотря на другие ответы на этот вопрос, событие ItemDataBound не должно использоваться для привязки управляющих данных, делайте это на уровне управления.
В раскрывающемся списке определите событие привязки данных:
<asp:DropDownList runat="server" ID="ddlYourDDL" OnDataBinding="ddlYourDDL_DataBinding">
Затем реализуйте событие OnDataBinding:
protected void ddlYourDDL_DataBinding(object sender, System.EventArgs e)
{
DropDownList ddl = (DropDownList)(sender);
for (int i = 1; i < 5; i++)
{
ddl.Items.Add(new ListItem(i.ToString(), i.ToString()));
}
// Now that the items are all there, set the selected property
ddl.SelectedValue = Eval("selectedfieldname").ToString();
}
Вы должны попытаться и сделать все свою привязку данных на уровне управления вместо того, чтобы искать вещи и иметь свою сетку, чтобы знать, что она содержит. Каждый элемент управления может заботиться о себе;) Таким образом, гораздо проще добавлять и удалять элементы управления в шаблон и сохранять эти изменения изолированными.