2011-08-16 2 views
0

명령 필드와 템플릿 필드가 거의 없습니다. 템플릿 필드에는 유효성 검사기가 첨부되어 있으며 잘못된 데이터를 선택하면 올바른 메시지가 표시됩니다. 그러나 commandfield를 클릭하면 오류가 표시되지 않으며 데이터가 유효하지 않더라도 이벤트가 실행됩니다. Morover, 나는 또한 서버에서 Page.IsValid를 검사했으며 데이터가 유효하지 않은 상태에서도 잘 작동합니다. 이 마크 업 :컨트롤에서 데이터가 유효하지 않더라도 Gridview의 업데이트 이벤트가 발생합니다.

<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 이벤트에 채워집니다. validator가 붙어있는 것을 볼 수 있듯이 commandfield는 정상적으로 작동합니다. 아무도 내게 문제가 될 수 있다고 말해 줄 수 있습니까?

답변

1

언뜻 보면 ValidationGroup="vgExpDateGrid"asp:CommandField에없는 것 같습니다. 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

관련 문제