I would say that the time picker isn't reinitialized (it's basically a new element) after the asynchronous postback. I don't know how you initialize it, but I assume you're using
$(document).ready
now?
You should use the pageLoaded event, like so:
Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(function(evt, args) {
$(".timepicker").datepicker();
});
Using that, you shouldn't need
$(document).ready
anymore.
Here[
^] is some more info on that.
As an alternative, you can create a custom control out of it (probably the nicest way to do it, more reusable). However, that might be a little bit too advanced.
More info on that:
Asp.Net Ajax ScriptControl Tutorial[
^]
ASP.NET: Create AJAX Server Controls using the ScriptControl base class[
^]
Adding Client Capabilities to a Web Server Control[
^]
Creating Custom ASP.NET AJAX Client Controls—IScriptControl.GetScriptDescriptors Method[
^]