Bubble Event for obtaining dropdownlist index change in a formview insert template

I have a FormView "FormView1" which contains a drop down list "dropdownlist1" in the insert template.  I need to be able to get the value when the selected index is changed in the drop down list.  I understand this is done using bubble events.  How do I do this in c#?
dodgybouyAsked:
Who is Participating?
 
here4u247Connect With a Mentor Commented:
ahaa i see, what you need is AutoPostBack="True" i.e.

<asp:DropDownList ID="DropDownList1" AutoPostBack="True"   runat="server" DataSourceID="sqlDSGetComment"
                    DataTextField="Comment"  OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
                    DataValueField="CommentID" SelectedValue='<%# Bind("CommentID") %>'>

0
 
here4u247Commented:
you set the selected indexchanged event to the dropdown which calls an event handler everytime the selection change i.e.

                 <asp:DropDownList AutoPostBack="True" ID="DropDownList1" runat="server"
                         OnSelectedIndexChanged="DeliveryIDDropDownList_SelectedIndexChanged">
                         <asp:ListItem>1</asp:ListItem>
                         <asp:ListItem>2</asp:ListItem>
                    </asp:DropDownList

C# event handler:


    protected void DeliveryIDDropDownList_SelectedIndexChanged(object sender, EventArgs e)
    {
        DropDownList ddlDel = (DropDownList)sender;
//Do stuff
    }

Hope that helps
0
 
dodgybouyAuthor Commented:
This is helpful and has got me half way to solving the problem.  However when I use this code the action only triggers after the command event is triggered by the template (i.e. somebody clicking the update or cancel button).  what is require is for the event to trigger when the selected index changes on the drop down list.  

To do this I understand you have to use a bubble event to trigger the templates command event when the selected index change event fires within the template.  Do you know how to do this?
0
 
here4u247Commented:
where did you put the dropdownlist, insertTemplate/EditTemplate or somewhere else? because i use formview with databound dropdownlist and i can fire selected index change event properly...

can you show us your code?
0
 
dodgybouyAuthor Commented:
I put the dropdownlist in an edit template,

aspx file

<asp:FormView ID="FormView1" runat="server" DataKeyNames="ID"
        DataSourceID="SqlDataSource2" DefaultMode="Edit" Visible="False"
        OnItemUpdated="FvComment_Updated" OnItemUpdating="FvComment_Updating" OnItemCommand="FvComment_Command">
            <HeaderTemplate>
                <strong>Comment</strong>
            </HeaderTemplate>
            <EditItemTemplate>
                <strong>Select Comment:</strong>
                <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="sqlDSGetComment"
                    DataTextField="Comment"  OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
                    DataValueField="CommentID" SelectedValue='<%# Bind("CommentID") %>'>
                </asp:DropDownList><asp:SqlDataSource ID="sqlDSGetComment" runat="server" ConnectionString="<%$ ConnectionStrings:AngusConnectionString %>"
                    SelectCommand="spGetCommentType" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
                <br />
                <asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True" CommandName="Update"
                    Text="Update" OnClientClick="return confirm('Are you sure that you want to update this comment, all current data will be lost?');" >

                </asp:LinkButton>
                <asp:LinkButton ID="UpdateCancelButton" runat="server" CausesValidation="False" CommandName="Cancel"
                    Text="Cancel">
                </asp:LinkButton>
            </EditItemTemplate>

Code behind file

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
        {
            DropDownList ddl1 = (DropDownList)sender;

            Response.Write(ddl1.SelectedValue.ToString());
        }
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.