I have a dropdown list inside a asp:repeater item template.
how can I get its value on button click event.
<asp:Repeater runat="server" ID="WorkflowListAfter" onitemcreated="WorkflowListAfterItemCreated">
<ItemTemplate>
<asp:DropDownList ID="ddlWorkflowMembers" runat="server" DataTextField="MemberName" DataValueField="MemberID">
</ItemTemplate>
</asp:Repeater>
protected DropDownList ddlWorkflowMembers = new DropDownList();
protected void WorkflowListAfterItemCreated(object sender, RepeaterItemEventArgs e)
{
ddlWorkflowMembers = (DropDownList) e.Item.FindControl("ddlWorkflowMembers");
}
protected void BtnSaveClick(object sender, EventArgs e) {
if (ddlWorkflowMembers.SelectedItem == null) return;
}
the code above is working at first time but after postback ddlWorkflowMembers is always null expersion.
Assuming that
BtnSaveis also inside the repeater.You get the
RepeaterItemby casting the button’sNamingContainer. Then you can useFindControlto get the reference to yourDropDownList:If the button is outside of the repeater and you want to save all items, you need to loop through all: