【问题标题】:How to give validation inside the gridview controls?如何在 gridview 控件中进行验证?
【发布时间】:2013-12-28 10:13:45
【问题描述】:
 <tr>
 <asp:GridView ID="gvWH" runat="server" BorderColor="#BDBDBD" ShowFooter="True"
 CssClass="center" OnRowDataBound="gvWH_RowDataBound" 
 GridLines="Horizontal" OnRowDeleting="gvWH_RowDeleting"  
AutoGenerateColumns="False">
   <EmptyDataTemplate>
       No Records found
   </EmptyDataTemplate>
        <Columns>
            <asp:TemplateField HeaderText="Type">
                <HeaderStyle HorizontalAlign="Center" />
                     <ItemTemplate>
                     <asp:DropDownList ID="ddlbirdtype" runat="server" 
                         AutoPostBack="true">
                      </asp:DropDownList>
                <asp:RequiredFieldValidator ID="RFVbirdtype" runat="server" 
                      ControlToValidate="ddlbirdtype"  
                  ValidationGroup="GridView1" InitialValue="0" Display="None"
                 ErrorMessage="Please select Bird Type"></asp:RequiredFieldValidator>
              <asp:ValidatorCalloutExtender ID="VCEbirdtype" runat="Server" 
              TargetControlID="RFVbirdtype" EnableViewState="false" />
                </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField HeaderText="Weight">
           <HeaderStyle HorizontalAlign="Center" />
             <FooterStyle HorizontalAlign="Right" />
               <FooterTemplate>
            <asp:Button ID="BtnAdd" runat="server" Text="Add" OnClick="BtnAdd_Click"
             ValidationGroup="GridView1" CausesValidation="true" />
                </FooterTemplate>
              <ItemStyle Width="100px" />
              </asp:TemplateField>
               <asp:CommandField ShowDeleteButton="True" />
        </Columns>
      </asp:GridView>
  </tr>
  <tr>
     <td align="center">
   <asp:Button ID="btnsave" runat="server" Text="Save" OnClick="btnSave_Click" OnClientClick="return validations1();" ValidationGroup="GridView1" CausesValidation="true"
     Style="height: 26px" />
     </td>
  </tr>

当我点击外部“保存”按钮时,它会显示验证..请帮助我

【问题讨论】:

  • 试一试,去掉 OnClientClick="return validations1();"从外部按钮然后验证控件可能会触发。

标签: asp.net c#-4.0 gridview


【解决方案1】:

我认为 InitialValue="0" 属性只会让您无法获得验证,请删除它。如果仍然需要,则意味着您必须指定 dropdownList 的第一项,否则只需将其删除。

并将显示设置为动态 试试这样

<tr>
 <asp:GridView ID="gvWH" runat="server" BorderColor="#BDBDBD" ShowFooter="True"
 CssClass="center" OnRowDataBound="gvWH_RowDataBound" 
 GridLines="Horizontal" OnRowDeleting="gvWH_RowDeleting"  
AutoGenerateColumns="False">
   <EmptyDataTemplate>
       No Records found
   </EmptyDataTemplate>
        <Columns>
            <asp:TemplateField HeaderText="Type">
                <HeaderStyle HorizontalAlign="Center" />
                     <ItemTemplate>
                     <asp:DropDownList ID="ddlbirdtype" runat="server" 
                         AutoPostBack="true">
                      </asp:DropDownList>
                <asp:RequiredFieldValidator ID="RFVbirdtype" runat="server" 
                      ControlToValidate="ddlbirdtype"  
                  ValidationGroup="GridView1" Display="Dynamic"
                 ErrorMessage="Please select Bird Type"></asp:RequiredFieldValidator>
              <asp:ValidatorCalloutExtender ID="VCEbirdtype" runat="Server" 
              TargetControlID="RFVbirdtype" EnableViewState="false" />
                </ItemTemplate>
            </asp:TemplateField>

            <asp:TemplateField HeaderText="Weight">
           <HeaderStyle HorizontalAlign="Center" />
             <FooterStyle HorizontalAlign="Right" />
               <FooterTemplate>
            <asp:Button ID="BtnAdd" runat="server" Text="Add" OnClick="BtnAdd_Click"
             ValidationGroup="GridView1" CausesValidation="true" />
                </FooterTemplate>
              <ItemStyle Width="100px" />
              </asp:TemplateField>
               <asp:CommandField ShowDeleteButton="True" />
        </Columns>
      </asp:GridView>
  </tr>
  <tr>
     <td align="center">
   <asp:Button ID="btnsave" runat="server" Text="Save" OnClick="btnSave_Click" ValidationGroup="GridView1" CausesValidation="true"
     Style="height: 26px" />
     </td>
  </tr>

【讨论】:

  • 它对我来说工作正常,问题只是因为显示和初始值
  • K,我在哪里删除初始值属性?
  • @SambaSiva 嗨,我更新了解决方案,现在我的猜测是关于保存按钮中的 OnClientCLick,删除它并检查
  • 只需使用我的代码,我就这样做了,Requiredfieldvalidtor 控件中的 InitialValue
  • 我有另一个面板..它还包含更多控件..所以我添加了 OnClientCLick 验证...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多