Has*_*aan 0 c# asp.net gridview
我有文本框和网格视图。在网格视图中还有正在验证的文本框。在页脚中有一个按钮,如果网格视图当前行通过验证,则创建新行。
问题是,当按下网格视图内的按钮时,它还会验证网格外的内容。这个怎么控制?
我的 aspx 代码如下:
<h4>Worked Date</h4>
<asp:TextBox runat="server" ID="txtDateOfWorkForInserting" CssClass="form-control" EnableViewState="false" ClientIDMode="Static" ValidateEmptyText="true"/>
<asp:RequiredFieldValidator ID="rfvDateOgWork"
CssClass="text-danger" ControlToValidate="txtDateOfWorkForInserting"
runat="server" EnableViewState="true" ErrorMessage="*" ToolTip="Select Date" Display="Dynamic" ></asp:RequiredFieldValidator>
<asp:GridView ID="gvWorkDone" runat="server" ShowFooter="True" AutoGenerateColumns="False"
CellPadding="4" GridLines="None" OnRowDeleting="gvWorkDone_RowDeleting" CssClass="table-responsive table table-striped"
Style="text-align: left" >
<Columns>
<asp:BoundField DataField="RowNumber" HeaderText="SNo" />
<asp:TemplateField HeaderText="Work Description">
<ItemTemplate>
<asp:TextBox ID="txtWorkDone" runat="server" CssClass="form-control multilineTextbox" TextMode="MultiLine" ></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="txtWorkDone"
ErrorMessage="*" SetFocusOnError="True" InitialValue="<% %>"></asp:RequiredFieldValidator>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time To Complete">
<ItemTemplate>
<asp:DropDownList runat="server" ID="ddlTotalTime">
<asp:ListItem Selected="True">1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
<asp:ListItem>4</asp:ListItem>
<asp:ListItem>5</asp:ListItem>
<asp:ListItem>6</asp:ListItem>
<asp:ListItem>7</asp:ListItem>
<asp:ListItem>8</asp:ListItem>
<asp:ListItem>9</asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="ddlTotalTime"
ErrorMessage="*" SetFocusOnError="True"></asp:RequiredFieldValidator>
</ItemTemplate>
<FooterStyle HorizontalAlign="Right" />
<FooterTemplate>
<asp:Button ID="ButtonAdd" runat="server" Text="Add New Row" OnClick="ButtonAdd_Click" />
</FooterTemplate>
</asp:TemplateField>
<asp:CommandField ShowDeleteButton="True" />
</Columns>
</asp:GridView>
Run Code Online (Sandbox Code Playgroud)
这就是ValidationGroup物业的用途。假设您有以下控件:
<asp:RequiredFieldValidator ID="rfv1" runat="server" ValidationGroup="Group1" />
<asp:RequiredFieldValidator ID="rfv2" runat="server" ValidationGroup="Group1" />
<asp:RequiredFieldValidator ID="rfv3" runat="server" ValidationGroup="Group2" />
<asp:Button ID="btn1" runat="server" ValidationGroup="Group1" Text="Button 1" />
<asp:Button ID="btn2" runat="server" ValidationGroup="Group2" Text="Button 2" />
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,btn1只会对由rfv1和验证的控件进行验证rfv2,而btn2只会对由 验证的控件进行验证rfv3。