Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 5307
  • Last Modified:

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
0
RachelDosSantos
Asked:
RachelDosSantos
  • 2
  • 2
1 Solution
 
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
 
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
 
RachelDosSantosAuthor Commented:
Excellent stuff,

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

Rachel
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now