.aspx страница не загружается после добавления валидаторов в VB.Net - PullRequest
0 голосов
/ 22 мая 2019

У меня есть страница aspx с несколькими FormViews и обновляемым GridView, для которого я хотел бы добавить проверку. Кстати, поля, которые я пытаюсь проверить, также используют CalendarExtender из AJAX Control Toolkit. Я пытаюсь использовать RequiredFieldValidator и RangeValidator для этого. Проблема в том, что я не вижу ошибок в VisualStudio 2015 при добавлении валидаторов. Но когда я запускаю режим отладки и нажимаю кнопку, чтобы открыть FormView, который содержит проверку, я получаю ошибку 500 без какой-либо полезной информации, чтобы найти / исправить мою проблему.

Сначала я попытался добавить оба валидатора одновременно, но после проблем я просто пытаюсь заставить работать RequiredFiledValidator. Но мне все еще нужно знать, как заставить RangeValidator работать правильно. Для RangeValidator я хочу проверить дату начала не меньше, чем сегодня, и дату окончания, которая больше даты начала. Я попытался использовать все примеры, которые я нашел на этих страницах:

[1] https://www.c -sharpcorner.com / UploadFile / 17e8f6 / обязательный контроль поля в Asp-Net /

[2] https://asp.net -tutorials.com / validation / required-field-validator /

[3] http://www.java2s.com/Tutorial/ASP.NET/0160__Validation/UseaspRangeValidatortocheckthevaluerangeinanasptextbox.htm

[4] http://www.informit.com/articles/article.aspx?p=101137&seqNum=5

[5] https://docs.microsoft.com/en-us/dotnet/api/system.web.ui.webcontrols.rangevalidator.minimumvalue?view=netframework-4.8

[6] https://www.tutorialspoint.com/asp.net/asp.net_validators.htm

Вот пример одного из FormView, который я пытаюсь проверить. В RangeValidator у меня просто жестко заданы значения Max и Min, но в итоге я хочу, чтобы значение Min было таким же, как в текстовом поле даты начала плюс день:

      <asp:FormView ID="fvNotification" runat="server" Visible="False" DefaultMode="Insert" GridLines="Both" DataSourceID="SqlUserDetails">
           <InsertItemTemplate>
                 <asp:Table ID="Table1" runat="server">
                   <asp:TableHeaderRow>
                       <asp:TableHeaderCell>Notification</asp:TableHeaderCell>
                       <asp:TableHeaderCell>Filter 1</asp:TableHeaderCell>
                       <asp:TableHeaderCell>Filter 2</asp:TableHeaderCell>
                       <asp:TableHeaderCell>Begin Date</asp:TableHeaderCell>
                       <asp:TableHeaderCell>End Date</asp:TableHeaderCell>
                   </asp:TableHeaderRow>
                   <asp:TableRow>
                       <asp:TableCell>
                           <asp:DropDownList ID="ddNotification" runat="server" DataSourceID="SqlNotifications" DataTextField="Name" DataValueField="Name" ></asp:DropDownList></asp:TableCell>
                       <asp:TableCell>
                           <asp:DropDownList ID="ddFilterInsrt" runat="server" DataSourceID="SqlFilters1" DataTextField="Filter" DataValueField="Filter" ></asp:DropDownList></asp:TableCell>
                       <asp:TableCell>
                           <asp:DropDownList ID="ddFilterInsrt2 runat="server" >
                                <asp:ListItem>*</asp:ListItem>
                                <asp:ListItem>A</asp:ListItem>
                                <asp:ListItem>B</asp:ListItem>
                                <asp:ListItem>C</asp:ListItem>
                                <asp:ListItem>D</asp:ListItem>
                           </asp:DropDownList>
                       </asp:TableCell>
                     <asp:TableCell>
                         <asp:TextBox ID="TextBoxDateBgnInsrt" runat="server" autocomplete="Disabled" ></asp:TextBox>
                         <ajaxToolkit:CalendarExtender runat="server" BehaviorID="TextBoxDateBgnInsrt_CalendarExtender" TargetControlID="TextBoxDateBgnInsrt" ID="TextBoxDateBgnInsrt_CalendarExtender"></ajaxToolkit:CalendarExtender>
                       </asp:TableCell>
                       <asp:TableCell>
                           <asp:TextBox ID="TextBoxDateEndInsrt" runat="server" autocomplete="Disabled" ></asp:TextBox>
                           <ajaxToolkit:CalendarExtender runat="server" BehaviorID="TextBoxDateEndInsrt_CalendarExtender" TargetControlID="TextBoxDateEndInsrt" ID="TextBoxDateEndInsrt_CalendarExtender"></ajaxToolkit:CalendarExtender>
                           <asp:RangeValidator  runat="server" id="rngDate" controltovalidate="TextBoxDateEndInsrt" type="Date" MaximumValue='09/20/2011' MinimumValue="09/01/2011" errormessage="Please enter a valid date within 2006!" display="Dynamic"/>
                       </asp:TableCell>

                 </asp:TableRow>
               </asp:Table>
               <asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert" CausesValidation="True" />
             &nbsp;<asp:Button ID="InsertCancelButton" runat="server" CausesValidation="False" CommandName="Cancel" Text="Cancel" OnClick="InsertCancelButton_Click1" />
               &nbsp;<asp:Button ID="InsertClearEndDateButton" runat="server" Text="Clear End Date" OnClick="InsertClearEndDateButton_Click"/>

            </InsertItemTemplate>

        </asp:FormView>

Я ожидаю, что FormView будет видимым и проверенным после нажатия кнопки, которая делает FormView видимым, но вместо этого я получаю ошибку 500.

...