2011-08-16 14 views
0

で無効であっても発射。 templatefieldsは、それに接続されたバリデータを持っていると、間違ったデータが選択されているとき、彼らは適切なメッセージを表示します。私はcommandfieldクリックしたときしかし、エラーはデータが無効であっても示さないとイベントが発生しています。 Morover、私はまた、サーバー上Page.IsValidをチェックして、すべてのデータが無効な状態であってもうまく動作します。このマークアップ:GridViewの更新イベントデータは、私がcommandfieldといくつかのtemplatefieldsを持つコントロール

<asp:TemplateField HeaderText="Exp. Date"> 
    <ItemTemplate> 
     <asp:Label ID="lblExpiration" runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "Expiration")%>'></asp:Label> 
    </ItemTemplate> 
    <EditItemTemplate > 
     <asp:DropDownList ID="ddlMM" runat="server" ValidationGroup="vgExpDateGrid"> 
      <asp:ListItem Value="-1">MM</asp:ListItem> 
      <asp:ListItem Value="1" >01</asp:ListItem> 
      <asp:ListItem Value="2">02</asp:ListItem> 
      <asp:ListItem Value="3">03</asp:ListItem> 
      <asp:ListItem Value="4">04</asp:ListItem> 
      <asp:ListItem Value="5">05</asp:ListItem> 
      <asp:ListItem Value="6">06</asp:ListItem> 
      <asp:ListItem Value="7">07</asp:ListItem> 
      <asp:ListItem Value="8">08</asp:ListItem> 
      <asp:ListItem Value="9">09</asp:ListItem> 
      <asp:ListItem Value="10">10</asp:ListItem> 
      <asp:ListItem Value="11">11</asp:ListItem> 
      <asp:ListItem Value="12">12</asp:ListItem> 
     </asp:DropDownList> 
     <span class="green"></span> /&nbsp; 
     <asp:DropDownList ID="ddlYY" runat="server" ValidationGroup="vgExpDateGrid"> 
     </asp:DropDownList> 
     <span class="green"></span> 
     <asp:RequiredFieldValidator ID="rfvddlMM" ControlToValidate="ddlMM" Display="Dynamic" InitialValue="-1" runat="server" ValidationGroup="vgExpDateGrid">*</asp:RequiredFieldValidator> 
     <asp:RequiredFieldValidator ID="rfvddlYY" ControlToValidate="ddlYY" Display="Dynamic" InitialValue="-1" runat="server" ValidationGroup="vgExpDateGrid">*</asp:RequiredFieldValidator> 
    </EditItemTemplate> 
</asp:TemplateField> 

<asp:CommandField 
UpdateText="Update" CausesValidation="true" 
    HeaderText="Update" ShowEditButton="true" 
    EditText="Update <br/>Exp. Date" ButtonType="Link" /> 

奇妙なコントロールの名前とスタイルには注意しないでください。基本的に、テンプレートフィールドには年と月のドロップダウンリストがあります。年のドロップダウンリストは、rowdataboundイベントで設定されます。バリデータが添付されているのを見ると、コマンドフィールドは正常に動作しています。誰が問題になるのか教えていただけますか?

答えて

1

一見私はあなたがasp:CommandFieldValidationGroup="vgExpDateGrid"を持っていないと言うでしょう。 ValidationGroup

+0

asp:RequiredFieldValidatorからの感謝を削除し、代わり

<asp:CommandField ValidationGroup="vgExpDateGrid" UpdateText="Update" CausesValidation="true" HeaderText="Update" ShowEditButton="true" EditText="Update <br/>Exp. Date" ButtonType="Link" /> 

か:あなたにcommandfieldを変更します。それは魅力のように働く。 – Jaggu

関連する問題