#asp.net #triggers #drop-down-menu #postback #requiredfieldvalidator
#asp.net #запускает #выпадающее меню #обратная отправка #requiredfieldvalidator
Вопрос:
У меня есть выпадающий список на моей странице aspx, к которому у меня применен RequiredFieldValidator поверх него. Выпадающий код является:
<asp:DropDownList ID="ddlglCategoryId" runat="server" CssClass="textEntry2"
AutoPostBack="true" ValidationGroup="Save" DataSourceID="dtsglCategoryId" DataTextField="LookupItem"
DataValueField="Id" AppendDataBoundItems="true">
<asp:ListItem Text="All" Selected="True" Value="0"></asp:ListItem>
</asp:DropDownList>
Код RequiredFieldValidator является:
<asp:RequiredFieldValidator ID="rfvddlglCategoryId" InitialValue="0" runat="server"
ErrorMessage="Please select category" CssClass="Validations" ControlToValidate="ddlglCategoryId"
ValidationGroup="Save" Display="Dynamic" SetFocusOnError="true">
</asp:RequiredFieldValidator>
У меня также есть триггер обратной отправки на моей странице aspx, и когда я меняю категорию из выпадающего списка, страница отправляется обратно, и сетка на моей странице обновляется. Но из-за обратной отправки сообщение средства проверки появляется, а затем исчезает. Я хочу, чтобы это отображалось только тогда, когда «Все» выбрано из выпадающего списка и пользователь нажимает кнопку Сохранить.
Какие-либо рекомендации?
Запуск:
</ContentTemplate>
<Triggers>
<%--<asp:AsyncPostBackTrigger ControlID="lbFileName" />--%>
<asp:PostBackTrigger ControlID="btnFileUploadSave" />
</Triggers>
</asp:UpdatePanel>
Кнопка:
<asp:ImageButton ID="btnFileUploadSave" runat="server" ValidationGroup="Save"
ImageUrl="~/App_Themes/Default/images/update.png" ToolTip="Save"
Height="18px" onclick="btnFileUploadSave_Click"/>
Комментарии:
1. Возможно, вы захотите обновить свой пост с более полным представлением вашей разметки, чтобы показать триггеры и показать, что кнопка отправки использует то же самое
ValidationGroup
.
Ответ №1:
Возможно, вам потребуется установить для свойства AutoPostBack выпадающего списка значение false. Похоже, что обратная отправка запускается обработчиком события OnSelectedIndexChanged.
Ответ №2:
Установите свойство ValidationGroup для всех валидаторов одинаковым, которое вы хотите проверять при нажатии кнопки, а затем установите свойство buttons ValidationGroup таким же, как у ваших валидаторов
Например:
<asp:RequiredFieldValidator ID="rfvDoc" runat="server" ControlToValidate="FileUpload1"
ErrorMessage="Please Select A Document" ValidationGroup="OnSave">
</asp:RequiredFieldValidator>