I have a user control that is used to reset month and day that are griview parameters.
<ajaxToolkit:ModalPopupExtender ID="mpedates" runat="server" Enabled="True" TargetControlID="ibpickdates" PopupControlID="pnldates" BackgroundCssClass="modalBackground" /><asp:Panel ID="pnldates" runat="server" CssClass="modalPanel" Style="display: none; width: 300px;"><uc1:mnthyrpicker runat="server" ID="mnthyrpicker" /></asp:Panel> the user control:<%@ Control Language="C#" AutoEventWireup="true" CodeFile="mnthyrpicker.ascx.cs" Inherits="userctrls_mnthyrpicker" %><link href="../Content/main.css" rel="stylesheet" /><div style="width:300px; text-align:center;"> Month<asp:DropDownList ID="ddlmonth" runat="server"><asp:ListItem Value="1">January</asp:ListItem><asp:ListItem Value="2">February</asp:ListItem><asp:ListItem Value="3">March</asp:ListItem><asp:ListItem Value="4">April</asp:ListItem><asp:ListItem Value="5">May</asp:ListItem><asp:ListItem Value="6">June</asp:ListItem><asp:ListItem Value="7">July</asp:ListItem><asp:ListItem Value="8">August</asp:ListItem><asp:ListItem Value="9">September</asp:ListItem><asp:ListItem Value="10">October</asp:ListItem><asp:ListItem Value="11">November</asp:ListItem><asp:ListItem Value="12">December</asp:ListItem></asp:DropDownList> Year<asp:DropDownList ID="ddlyear" runat="server" ></asp:DropDownList></div><div style="margin: 15px; width:300px; text-align:center;"><asp:Button ID="btnOK" runat="server" Text="OK" Width="60px" OnClick="btnOK_Click"/> <asp:Button ID="Button2" runat="server" Text="Cancel" OnClick="Button2_Click" /></div> code: public partial class userctrls_mnthyrpicker : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { int dtyearstop = DateTime.Today.Year; for (int dtyearstart = 2001; dtyearstart <= dtyearstop; dtyearstart++) { ddlyear.Items.Add(dtyearstart.ToString()); } } } public void btnOK_Click(object sender, EventArgs e) { int month = Convert.ToInt32(ddlmonth.SelectedValue); TextBox lbm = (TextBox)Parent.FindControl("tbmnth"); lbm.Text = System.Globalization.CultureInfo.CurrentCulture.DateTimeFormat.GetMonthName(month); string year = ddlyear.SelectedValue; TextBox tby = (TextBox)Parent.FindControl("tbyr"); tby.Text = year; int yr = Convert.ToInt32(year); GridView gvi = (GridView)Parent.FindControl("GridView1"); Page.AutoPostBackControl = gvi; stats st = new stats(); gvi.DataSource = st.getrideslistbyrider(month, yr,1); gvi.DataBind(); gvi.SelectRow(0);
This popup works fine until I add a validation cntrol to a different Modal popup on the page:
<asp:Panel ID="Panel2" runat="server" CssClass="modalPanel" Width="650" ><asp:Label ID="Label5" runat="server" Text="Ride Details"></asp:Label><table class="auto-style1"><tr><td class="tdrt_50"> </td><%--<td colspan="6"><asp:ValidationSummary ID="ValidationSummary1" runat="server" /></td>--%></tr><tr><td class="tdrt_50"></td><td class="tdrt_100"><asp:Label ID="lbldate" runat="server" Text="Ride Date:" /></td><td class="tdlt_150" colspan="2"><asp:TextBox ID="tbridedate" runat="server" CssClass="txlt_75" /><ajaxToolkit:CalendarExtender ID="tbridedate_CalendarExtender" runat="server" Enabled="True" PopupButtonID="ical" TargetControlID="tbridedate"></ajaxToolkit:CalendarExtender> <asp:Image ID="ical" runat="server" ImageAlign="Middle" ImageUrl="~/Images/Icons/calendar_1.png" /></td><td class="tdrt_50"> </td><td class="auto-style2"><asp:Label ID="lbltemp" runat="server" Text="Temperature:" /></td><td class="auto-style3"><asp:TextBox ID="tbhitemp" runat="server" CssClass="txrt_25" /> Hi <asp:TextBox ID="tblowtmp" runat="server" CssClass="txrt_25" /> Lo <asp:DropDownList ID="ddltempscale" runat="server" OnDataBound="ddltempscale_DataBound" /></td></tr><tr><td class="tdrt_50"> </td><td class="tdrt_100"><asp:Label ID="lbldist" runat="server" Text="Distance:" /></td><td class="tdlt_150" colspan="2"><asp:TextBox ID="tbdist" runat="server" CssClass="txlt_75" /><asp:DropDownList ID="ddldistscale" runat="server"><asp:ListItem Value="I">Miles</asp:ListItem><asp:ListItem Value="M">km</asp:ListItem></asp:DropDownList> <%--<asp:RequiredFieldValidator ID="rfdist" runat="server" ControlToValidate="tbdist" Display="None" ErrorMessage="Distance is required."></asp:RequiredFieldValidator>--%></td><td class="tdrt_50"> </td><td class="tdrt_100"><asp:Label ID="lblel" runat="server" Text="Elevation Gain:" /></td><td class="auto-style3"><asp:TextBox ID="tbel" CssClass="txrt_50" runat="server"></asp:TextBox> <asp:DropDownList ID="DropDownList3" runat="server"><asp:ListItem Selected="True" Value="I">Feet</asp:ListItem><asp:ListItem Value="M">Meters</asp:ListItem></asp:DropDownList></td></tr><tr><td class="tdrt_50"></td><td class="tdrt_100"><asp:Label ID="lblttime" runat="server" Text="Total Time:" /></td><td class="tdlt_150" colspan="2"><asp:TextBox ID="tbhrs" runat="server" CssClass="txrt_25" /> Hr <asp:TextBox ID="tbmin" runat="server" CssClass="txrt_25" /> Min<td class="tdrt_50"> </td><td class="auto-style2"><asp:Label ID="lblbike" runat="server" Text="Bike"></asp:Label></td><td class="auto-style3"><asp:DropDownList ID="DropDownList4" runat="server" DataSourceID="srcbikes" DataTextField="bikemake" DataValueField="riderbikeid"></asp:DropDownList><asp:SqlDataSource ID="srcbikes" runat="server" ConnectionString="<%$ ConnectionStrings:BDUCConnectionString %>" SelectCommand="bd_GetBikeList" SelectCommandType="StoredProcedure"><SelectParameters><asp:ControlParameter ControlID="hfrid" Name="riderId" PropertyName="Value" Type="Int32" /></SelectParameters></asp:SqlDataSource></td></tr><tr><td class="tdrt_50"></td><td class="tdrt_100"><asp:Label ID="lblrtime" runat="server" Text="Ride Time:" /></td><td class="tdlt_150" colspan="2"><asp:TextBox ID="tbrt" runat="server" CssClass="txrt_25" /> Hr <asp:TextBox ID="tbrm" runat="server" CssClass="txrt_25" /> Min<td class="tdrt_50"> </td><td class="auto-style2"> </td><td class="auto-style3"> </td></tr><tr><td class="tdrt_50" colspan="2"><asp:CheckBox ID="cbmd" runat="server" Text="Multi-Day" /></td><td class="tdlt_150" colspan="3"> <asp:TextBox ID="TextBox2" runat="server" CssClass="txrt_25" /> Days<asp:TextBox ID="tbrt0" runat="server" CssClass="txrt_25" /> Hr <asp:TextBox ID="tbrm0" runat="server" CssClass="txrt_25" /> Min<td class="auto-style2"> </td><td class="auto-style3"> </td></td></tr><tr><td class="tdrt_50"> </td><td class="tdrt_100"><asp:Label ID="Label4" runat="server" Text="Ride Type:" /></td><td class="tdlt_150"> <td class="tdlt_100"><asp:DropDownList ID="DropDownList2" runat="server" DataSourceID="srctypes" DataTextField="ridetypename" DataValueField="ridetypeid"></asp:DropDownList><asp:SqlDataSource ID="srctypes" runat="server" ConnectionString="<%$ ConnectionStrings:BDUCConnectionString %>" SelectCommand="UMgetridetype" SelectCommandType="StoredProcedure"></asp:SqlDataSource><td class="tdlt_150"> <td class="auto-style2"> </td><td class="auto-style3"> </td></td></td></td></tr><tr><td class="tdrt_50"> </td><td class="tdrt_100" style="vertical-align:top" ><asp:Label ID="lblcom" runat="server" Text="Comment:"></asp:Label></td><td class="tdlt_150" colspan="4"><asp:TextBox ID="TextBox3" runat="server" Height="45px" TextMode="MultiLine" Width="250px"></asp:TextBox><td class="auto-style3"> </td></td></td></tr><tr><td class="tdrt_50"> </td><td class="tdrt_100" style="vertical-align:top"> </td><td class="tdlt_150" colspan="4"> <td class="tdrt_150"><asp:Button ID="btnsave" runat="server" Text="Save" OnClick="btnsave_Click" /> <asp:Button ID="btncancelnew" runat="server" Text="Cancel" /></td></td></tr></table></asp:Panel><ajaxToolkit:ModalPopupExtender ID="Panel2_ModalPopupExtender" runat="server" Enabled="True" TargetControlID="Button1" BackgroundCssClass="modalBackground" PopupControlID="Panel23" /><asp:Button ID="Button1" runat="server" Text="Button" Style="display: none;" />
This is the second modal popup, with the validation summary and validation control commented out. In this case the user control popup works. If I uncomment them, however, the buttons on the user control do nothing. It still opens and you can select dates, but thebuttons dont makle the call.