简体   繁体   English

验证摘要不会在gridview中显示

[英]Validation Summary Does Not Show in gridview

I am using two validation summaries, but they don't show error message.While required field validator is working, but validation summary does not show so my problem is that. 我正在使用两个验证摘要,但它们不显示错误消息。虽然必需的字段验证器正在工作,但验证摘要没有显示,所以我的问题是这样。
I want to show the error message. 我想显示错误消息。

<div>
        <asp:GridView ID="GrdHiringResource" runat="server" AutoGenerateColumns="False" DataKeyNames="hiring_resource_id"
            OnRowCancelingEdit="GrdHiringResource_RowCancelingEdit" OnRowDataBound="GrdHiringResource_RowDataBound"
            OnRowEditing="GrdHiringResource_RowEditing" OnRowUpdating="GrdHiringResource_RowUpdating"
            OnRowCommand="GrdHiringResource_RowCommand" ShowFooter="True" OnRowDeleting="GrdHiringResource_RowDeleting"
            BackColor="White" BorderColor="#D1B271" BorderStyle="None" BorderWidth="1px"
            CellPadding="4">
            <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" BorderColor="#D1B271" />
            <RowStyle BackColor="White" ForeColor="#000000" BorderColor="#D1B271" />
            <Columns>
                <asp:TemplateField HeaderText="Hiring Resource name" SortExpression="Location_name">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtName" runat="server" Text='<%# Eval("hiring_resource_name") %>' ></asp:TextBox>
                        <asp:RequiredFieldValidator ID="ReqName" ValidationGroup="update" Display="Dynamic"

                            runat="server" ControlToValidate="txtName" ErrorMessage="Please enter ResourceName">*</asp:RequiredFieldValidator>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtNewName" runat="server"></asp:TextBox>
                        <asp:RequiredFieldValidator ID="ReqNewname" runat="server" ValidationGroup="save"
                            ControlToValidate="txtNewName" ErrorMessage="Please enter ResourceName" Display="Dynamic"
>*</asp:RequiredFieldValidator>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label2" runat="server" Text='<%# Bind("hiring_resource_name") %>' ></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="Description">
                    <EditItemTemplate>
                        <asp:TextBox ID="txtdescription" runat="server"  TextMode="MultiLine" Text='<%# Bind("description") %>'></asp:TextBox>
                          <asp:RequiredFieldValidator ID="Reqdescription" ValidationGroup="update" Display="Dynamic"

                            runat="server" ControlToValidate="txtdescription" ErrorMessage="Please enter Description">*</asp:RequiredFieldValidator>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:TextBox ID="txtNewdescription" runat="server" TextMode="MultiLine" ></asp:TextBox>
                        <asp:RequiredFieldValidator ID="ReqNewDescription" runat="server" ControlToValidate="txtNewdescription"
                            ErrorMessage="Please enter Description" ValidationGroup="save" Display="Dynamic">*</asp:RequiredFieldValidator>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:Label ID="Label3" runat="server" Text='<%# Bind("description") %>'></asp:Label>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:TemplateField HeaderText="" ShowHeader="False">
                    <EditItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="True" CommandName="Update"
                            Text="Update" ValidationGroup="update"></asp:LinkButton>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="False" CommandName="Cancel"
                            Text="Cancel"></asp:LinkButton>
                    </EditItemTemplate>
                    <FooterTemplate>
                        <asp:LinkButton ID="LinkButton2" runat="server" CausesValidation="true" CommandName="AddNew"
                            Text="Add New" ValidationGroup="save"></asp:LinkButton>
                    </FooterTemplate>
                    <ItemTemplate>
                        <asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Edit"
                            Text="Edit"></asp:LinkButton>
                    </ItemTemplate>
                </asp:TemplateField>
                <asp:CommandField HeaderText="" ShowDeleteButton="True" ShowHeader="True" />
            </Columns>
            <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" BorderColor="#D1B271" />
            <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" BorderColor="#D1B271" />
            <HeaderStyle BackColor="#D1B271" Font-Bold="True" ForeColor="#000000" HorizontalAlign="Center"
                BorderColor="#D1B271" />
        </asp:GridView>

    <asp:ValidationSummary runat="server"  ID="update" DisplayMode="BulletList" ShowMessageBox="true"
ShowSummary="false" EnableClientScript="false"/>
    <asp:ValidationSummary runat="server"  ID="save" DisplayMode="BulletList" ShowMessageBox="true"
ShowSummary="false" EnableClientScript="false"/>
      </div>

I suggest that you make use of validation groups. 我建议您使用验证组。 Also, create seperate ValidationGroups for both the EditItemTemplate validators and the Footer validators. 此外,为EditItemTemplate验证程序和页脚验证程序创建单独的ValidationGroups。 This will prevent one from firing another. 这样可以防止一个人开火。 This reference will also help you: 此参考还可以帮助您:

Reference: Validation Groups 参考: 验证组

Try setting ShowSummary="true" or ShowMessageBox="true" 尝试设置ShowSummary =“true”或ShowMessageBox =“true”

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationsummary.aspx http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.validationsummary.aspx

I think this is the problem, set this property to true 我认为这是问题,将此属性设置为true

  EnableClientScript="true" 

Update :Got your problem, it is the validationGroup, either add validationGroup property to validationSummary or remove valiationGroup from RequiredFieldValidators 更新 :解决您的问题,它是validationGroup,可以将validationGroup属性添加到validationSummary或​​从RequiredFieldValidators中删除valiationGroup

<asp:ValidationSummary runat="server"  ID="update" DisplayMode="BulletList" ValidationGroup="update"/>
<asp:ValidationSummary runat="server"  ID="save" DisplayMode="BulletList" ValidationGroup="save"/>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM