0

我的 gridview 出现问题,不再显示 ValidationSummary-errors。ValidationSummary 的 Headertext 以及我设置为在 ExpressionValidation 触发时出现的 * 都会显示。

我很确定它以前有效,但我不知道为什么它不再有效。起初我认为这可能与页面上的其他 GridViews 有关,因为我喜欢在不同的 TabPanel 中有 5 个不同的 GridView,但我已经为每个 GridView 创建了一个验证组。

标记:

<asp:UpdatePanel runat="server" UpdateMode="Always">
    <ContentTemplate>
       <asp:GridView ID="gvBBG" runat="server" AutoGenerateColumns="false" DataKeyNames="ID" SkinID="gvWithoutWidth">
         <Columns>
            <asp:TemplateField>
                <ItemTemplate>
                   <asp:ImageButton runat="server" ImageUrl="~/Images/GridView/gv_edit.png" CommandName="Edit"/>
                </ItemTemplate>
                <EditItemTemplate>
                   <asp:ImageButton runat="server" ImageUrl="~/Images/GridView/gv_cancel.png" CommandName="Cancel" CausesValidation="false"/>
                   <asp:ImageButton Id="ibUpdate" runat="server" ImageUrl="~/Images/GridView/gv_update.png" CommandName="Update"  CausesValidation="true"
                        ValidationGroup="UpdateBBG" Enabled="true" OnClientClick="return confirm('Datensatz einspielen/aktualisieren?')"/>
                </EditItemTemplate>
           </asp:TemplateField>
           <asp:TemplateField HeaderText="KV West" HeaderStyle-HorizontalAlign="Left">
               <EditItemTemplate>
                    <asp:TextBox ID="tbKVWest" runat="server" Text='<%# Bind("KVWestFormatted") %>' ValidationGroup="UpdateBBG" Width="50px" Height="15px"></asp:TextBox>
                     <asp:RequiredFieldValidator ID="rfvKVWest" ValidationGroup="UpdateBBG" runat="server"
                           ControlToValidate="tbKVWest" ErrorMessage="Bitte KVWest als Summe angeben"
                           SetFocusOnError="true">*</asp:RequiredFieldValidator> 
                      <asp:RegularExpressionValidator ID="revKVWest" ValidationGroup="UpdateBBG" runat="server"
                           ValidationExpression="^[0-9]{1,9}((\,)[0-9]{1,2})?$" ControlToValidate="tbKVWest" SetFocusOnError="true">*</asp:RegularExpressionValidator>
              </EditItemTemplate>
              <ItemTemplate>
                  <%# Eval("KVWestFormatted")%>
              </ItemTemplate>
        </asp:TemplateField>
....
      </Columns>
          <EmptyDataTemplate>Keine Daten vorhanden</EmptyDataTemplate>
  </asp:GridView>
      <p>
            <asp:ValidationSummary ID="vsUpdate3" runat="server" ShowMessageBox="true" ShowSummary="true" ValidationGroup="UpdateBBG" Font-Bold="true" ForeColor="Red" 
                 EnableClientScript="true" Enabled="true" HeaderText="Validierung..." />
      </p>

如果你们能在这里帮助我,那就太好了。我不太确定问题是什么......也许是更新面板?也许我犯了一些愚蠢的错误..?我比较无知。

4

2 回答 2

1

您的按钮验证组已更新,但所有其他按钮都具有验证组 updatebbg,因此将您的按钮的验证组更改为 updatebbg

于 2013-03-20T08:53:16.127 回答
0

发现问题.. 我必须为RequiredFieldValidator 和RegularExpressionValidator 设置错误消息。;) 顺便说一句,您不需要文本框内的验证组。

于 2013-03-20T12:45:59.227 回答