2010-03-29 8 views
0

업데이트 패널 내에서 포스트 백 후에 내 jquery 날짜 표시기가 표시되지 않는 문제를 해결합니다.Microsoft JScript 런타임 오류 : 'ShowDatePicker'가 정의되지 않았습니다.

달력의 텍스트 상자 (트리거)는 업데이트 패널에 포함 된 컨트롤 내에 포함되어 있습니다.

나는이 문제를 지원 기사를 발견, 그리고 내가
<script type="text/javascript"> 
function showDatePicker(sender, args) { 
    var control = document.getElementById("<%=txtAquisition.ClientID %>") 
    alert(control); 
    $(control).each(function() 
    { 
     $(this).datepicker({ showOn: 'focus' }); 
    }); 
} 
</script> 

을 가지고 있지만 정의되지 않은 오류가 발생하고있는 ASCX에 그런 다음

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) 

을 할 저를 알렸다.

올바른 방법으로 접근합니까? 내 datepicker가 업데이트 패널에서 계속 사용할 수 있도록 다른 제안 사항이 있습니까?

사실 이것은 내가 업데이트 패널 내에 중첩 된 컨트롤을 가지고 있기 때문일 수 있습니다. 사실 그 중 몇 개는 사실입니다.

이 문제에 대한 도움을 주시면 감사하겠습니다.

+0

http://stackoverflow.com/questions/301473/rebinding-events-in-jquery-after-ajax-update-updatepanel –

+0

HTTP : //stackoverflow.com/questions/2163246/jquery-ui-datepicker-inside-asp-net-updatepanel –

답변

0

자바 스크립트는 대소 문자를 구분합니다 (ShowDatePicker! = showDatePicker). 두 경우 모두 일치시켜야합니다.

또한,이 아래로 그 기능을 단축 할 수 있습니다

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