【问题标题】:Required Field Validator gets run on post back trigger必填字段验证器在回发触发器上运行
【发布时间】:2011-04-26 12:43:35
【问题描述】:

我在我的 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"/>

【问题讨论】:

  • 您可能希望使用更完整的标记视图更新您的帖子,以显示触发器并显示提交按钮使用相同的ValidationGroup

标签: asp.net triggers drop-down-menu postback requiredfieldvalidator


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    将所有验证器的 ValidationGroup 属性设置为与单击按钮时要验证的相同,然后将按钮的 ValidationGroup 属性设置为与您的验证器相同

    例如:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-31
      • 2011-02-24
      • 1970-01-01
      • 2013-03-23
      • 2011-02-26
      相关资源
      最近更新 更多