Asp.Net UpdatePanel в Gridview Jquery DatePicker - PullRequest
4 голосов
/ 27 июля 2010
<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>

я хочу jquery datepicker для "txtDate", как сделать?

Спасибо ...

1 Ответ

14 голосов
/ 27 июля 2010

Самый простой способ - поместить класс в поле «Текст даты» и просто использовать jQuery для добавления указателя даты ...

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

и javascript для init это: $(".clDate").datepicker(); но после обновления необходимо обновить панель инициализации, поэтому окончательный код будет:

<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> 

Обновление: о Sys. -> http://msdn.microsoft.com/en-us/library/bb311028.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...