2017-04-23 2 views
1

Im folgenden Code erhalte ich unnötige Post zurück, wenn ich Calendar Extender-Steuerelement zusammen mit einem Textfeld in einer Gridview verwenden. Dies bedeutet, dass im folgenden Code beim Ausführen UpdateEmployeeInAppForm zweimal aufgerufen wird. Outside Gridview funktioniert einwandfrei. Kann mir jemand helfen ? HierKalender Extender steuert in Gridview verursacht unnötiges Postback

<asp:GridView ID="gvEmployee" runat="server" AutoGenerateColumns="false" ItemType="Employee"> 
      <Columns> 
       <asp:TemplateField> 
        <ItemTemplate> 
         <table> <tr> 
           <td>Date Of Birth</td> 
           <td colspan="3"> 
            <asp:TextBox ID="tbDOB" runat="server" OnTextChanged="UpdateEmployeeInAppForm" AutoPostBack="true" Text='<%# Item.DOB%>'></asp:TextBox> 

            <asp:CalendarExtender ID="tbDOB_CalendarExtender" runat="server" Format="dd MMMM yyyy" SelectedDate='<%# Item.DOB%>' 
             Enabled="True" TargetControlID="tbDOB" ></asp:CalendarExtender> 
           </td> 
          </tr> 
</table> 
        </ItemTemplate> 
       </asp:TemplateField> 
      </Columns> 
     </asp:GridView> 

Antwort

0

ist die Lösung, die ich gefunden:

       <asp:TextBox ID="tbDOB" runat="server" OnTextChanged="UpdateEmployeeInAppForm" AutoPostBack="true" 
             Text='<%#Item.DOB.HasValue ? Item.DOB.Value.Date.ToString("dd MMMM yyyy") : "" %>'></asp:TextBox>           
            <asp:CalendarExtender ID="tbDOB_CalendarExtender" runat="server" Format="dd MMMM yyyy"           
             Enabled="True" TargetControlID="tbDOB" ></asp:CalendarExtender> 

entfernen SelectedDate = '<% # Item.DOB%>' aus dem Kalender Extendersteuerelement und macht das Format in der Textbox und Kalender gleich.

Verwandte Themen