Microsoft JScript运行时错误:'ShowDatePicker'未定义

问题描述:

解决了jquery datepicker在更新面板中回发后不显示的问题。Microsoft JScript运行时错误:'ShowDatePicker'未定义

日历的文本框(触发器)包含在控件中,该控件包含在更新面板中。

我发现了一篇文章这个问题协助,并通知我做到以下几点

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
     Dim tScript As String = "$(function(){ Sys.WebForms.PageRequestManager.getInstance().add_endRequest(ShowDatePicker); });" 
     Page.ClientScript.RegisterStartupScript(Me.GetType(), "async_" & Me.txtAquisition.ClientID, tScript, True) 

然后在ASCX我

<script type="text/javascript"> 
function showDatePicker(sender, args) { 
    var control = document.getElementById("<%=txtAquisition.ClientID %>") 
    alert(control); 
    $(control).each(function() 
    { 
     $(this).datepicker({ showOn: 'focus' }); 
    }); 
} 
</script> 

,但我得到一个未定义的错误。

我以正确的方式接近这个吗?任何其他建议,以确保我的日期选择器在更新面板中保持可用?

想到这可能是由于我有嵌套在更新面板中的控件......事实上它们中的几个。

对此非常感谢。

+0

http://*.com/questions/301473/rebinding-events-in-jquery-after-ajax-update-updatepanel – 2010-03-29 03:14:45

+0

HTTP ://*.com/questions/2163246/jquery-ui-datepicker-inside-asp-net-updatepanel – 2010-03-29 03:15:23

Javascript区分大小写,ShowDatePicker!= showDatePicker。你需要匹配这两个地方的情况。

此外,还可以缩短这个函数到这一点:

function showDatePicker(sender, args) { 
    $("#<%=txtAquisition.ClientID %>").datepicker({ showOn: 'focus' }); 
}