Is there no way to use the standard validation smmary on a modal popup? I have two required fields and a date range tha need validation but as soon as I add a validation control or summary to the panel it behaves oddly. It displays without Show being called and/or the validators are bypassed without performing the validation. From what I find on he web it has something to do wth posbacks and client side code. DOes anyone have a solution?
ode behind: protected void btnsave_Click(object sender, EventArgs e) { if (!IsValid) { mpe_new.Show(); } RequiredFieldValidator testValid = new RequiredFieldValidator(); Panel23.Controls.Add(testValid); testValid.ControlToValidate = "tbdist"; testValid.ErrorMessage = "Distance is required!"; // testValid.ValidationGroup = "insertVal"; testValid.Display = ValidatorDisplay.Dynamic; testValid.Validate(); if (!IsValid) { testValid.CssClass = "watermarkedreq"; mpe_new.Show(); testValid.Display = ValidatorDisplay.Static; UpdatePanel2.Update(); } int retval = 0; stats st = new stats(); float ridedistance = 0.0F; float ridedistancekm = 0.0F; float distmiles; float distkm; string distunit = ddldistscale.SelectedValue; if (distunit == "I") { ridedistance = Convert.ToSingle(tbdist.Text); ridedistancekm = (float)st.convertdistance(tbdist.Text, "I", 1); distmiles = ridedistance; distkm = ridedistancekm;
html:
<asp:UpdatePanel ID="UpdatePanel2" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false" ><ContentTemplate><%-- <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" AutoGenerateRows="False" DataKeyNames="rideid"><Fields>--%><asp:Panel ID="Panel23" runat="server" CssClass="modalPanel" Width="700" ><div style="width:340px; margin-left:10px; float:left;" ><asp:Label ID="lbltitle" runat="server" Text="Add Ride" /></div><div style="width:330px; margin-left:10px; float:left; text-align:right; margin-right:10px;"><asp:ImageButton ID="ImageButton3" runat="server" ImageUrl="~/Images/Icons/question.png" ToolTip="Help on his page" CausesValidation="False" OnClick="ImageButton3_Click" /><ajaxToolkit:BalloonPopupExtender ID="ImageButton3_BalloonPopupExtender" runat="server" BalloonSize="Large" CustomCssUrl="" DynamicServicePath="" Enabled="True" ExtenderControlID="" TargetControlID="ImageButton3" BalloonPopupControlID="pnlHlp"></ajaxToolkit:BalloonPopupExtender></div><div style="float:none;" /><br /><%--<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="insertVal" DisplayMode="BulletList" runat="server" ValidationGroup="insertVal" /></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" /><ajaxToolkit:TextBoxWatermarkExtender ID="tbhitemp_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbhitemp" WatermarkCssClass="watermarked" WatermarkText="Hi"></ajaxToolkit:TextBoxWatermarkExtender> <asp:TextBox ID="tblowtmp" runat="server" CssClass="txrt_25" /><ajaxToolkit:TextBoxWatermarkExtender ID="tblowtmp_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tblowtmp" WatermarkCssClass="watermarked" WatermarkText="Lo"></ajaxToolkit:TextBoxWatermarkExtender> <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="3"><asp:TextBox ID="tbdist" runat="server" CssClass="txlt_75" CausesValidation="True" OnDataBinding="tbdist_DataBinding" /><ajaxToolkit:TextBoxWatermarkExtender ID="tbdist_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbdist" /><%--<asp:RequiredFieldValidator ID="rqdist" runat="server" ErrorMessage="Distance is required!" ControlToValidate="tbdist" Display="None" ValidationGroup="ValidationSummary1" />--%><%-- <ajaxToolkit:validatorcalloutextender id="rqdist_ValidatorCalloutExtender" runat="server" targetcontrolid="rqdist" behaviorid="textValidator" enabled="True"></ajaxToolkit:validatorcalloutextender>--%><asp:DropDownList ID="ddldistscale" runat="server"><asp:ListItem Selected="True" Value="I">Miles</asp:ListItem><asp:ListItem Value="M">km</asp:ListItem></asp:DropDownList> </td><td class="auto-style2"><asp:Label ID="lblel" runat="server" Text="Elevation Gain:" /></td><td class="auto-style3"><asp:TextBox ID="tbel" CssClass="txrt_50" runat="server" /> <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="auto-style4"></td><td class="auto-style4"><asp:Label ID="lblttime" runat="server" Text="Total Time:" /></td><td class="auto-style5" colspan="2"><asp:TextBox ID="tbhrs" runat="server" CssClass="txrt_25" /> <ajaxToolkit:TextBoxWatermarkExtender ID="tbhrs_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbhrs" WatermarkCssClass="watermarked" WatermarkText="H"></ajaxToolkit:TextBoxWatermarkExtender> <asp:TextBox ID="tbmin" runat="server" CssClass="txrt_25" /> <ajaxToolkit:TextBoxWatermarkExtender ID="tbmin_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbmin" WatermarkCssClass="watermarked" WatermarkText="M"></ajaxToolkit:TextBoxWatermarkExtender></td><td class="auto-style6"></td><td class="auto-style7"><asp:Label ID="lblbike0" runat="server" Text="Bike"></asp:Label> :</td><td class="auto-style6"><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><caption> </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" /><ajaxToolkit:TextBoxWatermarkExtender ID="tbrt_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbrt" WatermarkCssClass="watermarked" WatermarkText="H" ClientIDMode="Predictable"></ajaxToolkit:TextBoxWatermarkExtender> <asp:TextBox ID="tbrm" runat="server" CssClass="txrt_25" /><ajaxToolkit:TextBoxWatermarkExtender ID="tbrm_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbrm" WatermarkCssClass="watermarked" WatermarkText="M"></ajaxToolkit:TextBoxWatermarkExtender><td class="tdrt_50"> </td><td class="auto-style2"> </td><td class="auto-style3"> </td></td></tr><tr><td class="tdrt_50" colspan="2"><asp:CheckBox ID="cbmd" runat="server" Text="Multi-Day" AutoPostBack="True" OnCheckedChanged="cbmd_CheckedChanged1" /></td><td colspan="3"><asp:TextBox ID="tbmdd" runat="server" CssClass="txrt_25" /><ajaxToolkit:TextBoxWatermarkExtender ID="tbmdd_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbmdd" WatermarkCssClass="watermarked" WatermarkText="D"></ajaxToolkit:TextBoxWatermarkExtender> <asp:TextBox ID="tbmdh" runat="server" CssClass="txrt_25" /><ajaxToolkit:TextBoxWatermarkExtender ID="tbmdh_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbmdh" WatermarkCssClass="watermarked" WatermarkText="H"></ajaxToolkit:TextBoxWatermarkExtender> <asp:TextBox ID="tbmdm" runat="server" CssClass="txrt_25" /><ajaxToolkit:TextBoxWatermarkExtender ID="tbmdm_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="tbmdm" WatermarkCssClass="watermarked" WatermarkText="M"></ajaxToolkit:TextBoxWatermarkExtender> <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><ajaxToolkit:TextBoxWatermarkExtender ID="TextBox3_TextBoxWatermarkExtender" runat="server" Enabled="True" TargetControlID="TextBox3" WatermarkCssClass="watermarked" WatermarkText="Enter comme n"></ajaxToolkit:TextBoxWatermarkExtender><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" /> <asp:Button ID="btncancelnew" runat="server" OnClick="btncancelnew_Click" Text="Cancel" /></td></td></tr></caption></table></asp:Panel></ContentTemplate></asp:UpdatePanel><ajaxToolkit:ModalPopupExtender ID="mpe_new" runat="server" BackgroundCssClass="modalBackground" Enabled="True" PopupControlID="Panel23" TargetControlID="Button1"></ajaxToolkit:ModalPopupExtender><asp:Button ID="Button1" runat="server" Text="Button" Style="display: none;" />