how to trigger a modal popup extender ajaxcontrol to a dropdownlist event?

hi there,
im buiding a website on visual studio 2008. and at my usercontrol i have a dropdown list  which has a ModalPopupExtender.
<cc1:ModalPopupExtender ID="dropDownList1_ModalPopupExtender" runat="server"
                DynamicServicePath="" Enabled="True" TargetControlID="dropDownList1"
                    PopupControlID="Panel1"
                    BackgroundCssClass="modalBackground"
                    DropShadow="true"
                    OkControlID="dropDownList1"
                    OnOkScript="showPopup()"
                    CancelControlID="Cancel_Button" >
            </cc1:ModalPopupExtender>

i have followed the example on asp.net ajax control toolkit webisite,  url bellow. http://www.asp.net/AJAX/AjaxControlToolkit/Samples/ModalPopup/ModalPopup.aspx

Right now, when the website is running soon as i click at the dropdownlist the panel("panel1") pops up. HOWEVER, i  want is that the panel ("panel1") to be displayed ONLY when the dropdownlist ("dropdowList1") SELECTEDI INDEX IS CHANGED.

can anyone help?
thanks
RachelDosSantosAsked:
Who is Participating?
 
JZoermanCommented:
This works...
No postback, passes selected value, and shows modal popup when selected value changes.
Think that covers it, let me know,
JZ
 <script type="text/javascript">    
     function ShowModalPopup(SelectedValue) 
     { 
        alert(SelectedValue);   
        var modal = $find('dropDownList1_ModalPopupExtender'); 
        modal.show(); 
     }
    </script>
 
 Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        DropDownList1.Attributes.Add("onChange", "ShowModalPopup(this.value)")
    End Sub

Open in new window

0
 
JZoermanCommented:
Insert a HiddenField object on the page and set it at the target control for the ModalPopupExtender.

Set AutoPostBack on your DropDownList to True

In the SelectedIndexChanged event call the .Show() method for the ModalPopupExtender
<cc1:ModalPopupExtender ID="dropDownList1_ModalPopupExtender" runat="server" 
                    DynamicServicePath="" 
                    Enabled="True" 
                    TargetControlID="HiddenField1"
                    PopupControlID="Panel1" 
                    BackgroundCssClass="modalBackground"
                    DropShadow="true" 
                    CancelControlID="Cancel_Button" >
        </cc1:ModalPopupExtender>
 
 Protected Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
        dropDownList1_ModalPopupExtender.Show()
    End Sub

Open in new window

0
 
RachelDosSantosAuthor Commented:
hi there,
yeah adding a HiddenField and using it as a targetControl ID, sort of works. But i was thinking of poping up this new window(panel1) without having to post it back to the server.

 Also using this way my javaScript function "showPopup"(ModalPopupExtender property:OnOkScript="showPopup ()"), which passes the value of the usercontrol's dropdownList to the panel's dropdownList doesnt work..

any ideas?
0
 
RachelDosSantosAuthor Commented:
Excellent stuff,

Yeah that works, thank you so much. You are brilliant!!

Rachel
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.