必填字段验证器在post back触发器上运行



我在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页面上也有一个post back触发器,当我从下拉菜单中更改类别时,页面post back和页面上的网格得到更新。但是由于回发,验证器消息出现,然后消失。我希望这只出现在"所有"从下拉菜单中选择,用户点击保存按钮。

指南吗?

触发:

</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"/>

您可能需要将下拉列表的AutoPostBack属性设置为false。这听起来像是一个回发被OnSelectedIndexChanged事件处理程序触发。

设置所有验证器的ValidationGroup属性与你想要在按钮上验证的相同,然后设置按钮的ValidationGroup属性与你的Validators相同

例如:

<asp:RequiredFieldValidator ID="rfvDoc" runat="server" ControlToValidate="FileUpload1"
                    ErrorMessage="Please Select A Document" ValidationGroup="OnSave">
</asp:RequiredFieldValidator>

最新更新