我的aspx页面上有一个下拉列表,我在其上应用了RequiredFieldValidator。 DropDown代码是:
<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"/>
答案 0 :(得分:1)
您可能需要将下拉列表的AutoPostBack属性设置为false。听起来像是使用OnSelectedIndexChanged事件处理程序触发回发。
答案 1 :(得分:0)
设置要在按钮单击时验证的所有验证程序的ValidationGroup属性,然后设置与验证程序相同的ValidationGroup属性按钮
例如:
<asp:RequiredFieldValidator ID="rfvDoc" runat="server" ControlToValidate="FileUpload1"
ErrorMessage="Please Select A Document" ValidationGroup="OnSave">
</asp:RequiredFieldValidator>