2010-07-27 3 views
3
<asp:UpdatePanel ID="asd" runat="server"> 
    <ContentTemplate> 
    <asp:GridView ID="gvUpdate" runat="server"> 
    <Columns> 
    <asp:TemplateField HeaderText="DATE"> 
    <ItemTemplate> 
    <asp:Label ID="lblDate" runat="server" Text='<%# Eval("DATE","{0:dd.MM.yyyy}")%>'></asp:Label> 
    </ItemTemplate> 
    <EditItemTemplate> 
    <asp:TextBox ID="txtDate" runat="server" Text='<%# Eval("DATE","{0:dd.MM.yyyy}") %>'></asp:TextBox> 
    </EditItemTemplate> 
    </asp:TemplateField> 
    </Columns> 
    </ContentTemplate> 

je veux jquery datepicker pour "txtDate" comment faire?Asp.Net UpdatePanel dans Gridview Jquery DatePicker

Merci ...

Répondre

13

La façon la plus simple consiste à placer une classe à votre date zone de texte, et il suffit d'utiliser jQuery pour ajouter le datepicker ...

<EditItemTemplate> 
<asp:TextBox ID="txtDate" CssClass="clDate" 
    runat="server" Text='<%# Eval("DATE","{0:dd.MM.yyyy}") %>'></asp:TextBox> 
</EditItemTemplate> 

et le javascript pour c'est initialisation: $(".clDate").datepicker(); mais le panneau de mise à jour est nécessaire initialisation à nouveau après la mise à jour, de sorte que le code final sera:

<script type="text/javascript"> 
    // if you use jQuery, you can load them when dom is read. 
    $(document).ready(function() { 
     var prm = Sys.WebForms.PageRequestManager.getInstance();  
     prm.add_initializeRequest(InitializeRequest); 
     prm.add_endRequest(EndRequest); 

     // Place here the first init of the DatePicker 
     $(".clDate").datepicker(); 
    });   

    function InitializeRequest(sender, args) { 
     // make unbind to avoid memory leaks. 
     $(".clDate").unbind(); 
    } 

    function EndRequest(sender, args) { 
     // after update occur on UpdatePanel re-init the DatePicker 
     $(".clDate").datepicker(); 
    } 
</script> 

Mise à jour: a propos du Sys. ->http://msdn.microsoft.com/en-us/library/bb311028.aspx

+2

+1 il doit selon moi –

+0

@Aristos Erreur: Erreur d'exécution Microsoft JScript: 'Sys' est pls indéfinis me aider – Chicharito

+0

@oraclee vous avez lieu le ScriptManager? (à cause de votre panneau de mise à jour, vous devez l'avoir) – Aristos