2011-02-08 6 views
1
나는 성공적으로 마스터 페이지와 JQuery와 작업했습니다,하지만 마스터 페이지에서하지 JQuery와 UI.My 헤더는 다음과 같습니다

: JQuery와 UI는 마스터 페이지와 함께 작동하지

<head runat="server"> 
<title>Analytics</title> 
<link href="~/css/PageElements.css" rel="stylesheet" type="text/css" runat="server"/> 
<link href="~/css/FormElements.css" rel="stylesheet" type="text/css" runat="server"/> 
<link href="~/css/Buttons.css" rel="stylesheet" type="text/css" runat="server"/> 
<link href="<%# ResolveUrl("~/css/smoothness/jquery-ui-1.8.9.custom.css") %>" rel="Stylesheet" type="text/css" /> 
<script type="text/javascript" src="<%# ResolveUrl("~/Scripts/jquery-1.4.4.min.js") %>" /> 
<script type="text/javascript" src="<%# ResolveUrl("~/Scripts/jquery-ui-1.8.9.custom.min.js") %>" /> 

<script type="text/javascript"> 
    jQuery.noConflict(); <%--This should avoid conflicts Ajax Control Toolkit--%> 
</script> 

<asp:ContentPlaceHolder ID="HeaderPlaceHolder" runat="server" /> 
</head> 

및 콘텐츠 페이지에서

, I JQuery UI 데모 페이지에 따라 날짜 선택 도구를로드하는 아주 간단한 스크립트를 만들었습니다. 나는 항상 'Microsoft JScript 런타임 오류가 발생합니다 : 개체가이 속성 또는 메서드를 지원하지 않습니다.' 내 콘텐츠 페이지는 다음과 같습니다.

<asp:Content ID="MainContent" ContentPlaceHolderID="MainPlaceHolder" runat="server"> 
<script type="text/javascript"> 
jQuery(document).ready(function() { 
    jQuery('#<%=btnSubmit.ClientID %>').click(function() { 
     alert("Hello world!"); 
    }); 

}); 
</script> 

<script type="text/javascript"> 
    jQuery(function() { 
     jQuery('#<%=datepicker.ClientID %>').datepicker(); 
    }); 
</script> 

<div class="demo"> 

<p>Date: <asp:TextBox runat="server" ID="datepicker" /></p> 

</div> 
<asp:Button ID="btnSubmit" runat="server" Text="Submit" /> 
</asp:Content> 

CSS 폴더가 있고 순수한 JQuery가 작동합니다. 이 간단한 datepicker는이 마스터 페이지/콘텐츠 설정과 작동하지 않습니다. ClientID (있는 그대로), UniqueID, [id $ = datepicker] 등을 사용하여 datepicker ID에 대한 여러 가지 조합을 시도했습니다.

누군가가이 문제를 해결할 수 있습니까? 내가 뭘 놓치고 있니?

+0

두 가지 제안 : (1) jquery 관련 css 및 js에 ResolveUrl을 사용하지만 다른 문자열에 정적 문자열을 사용하는 이유는 무엇입니까? jquery 관련 리소스에 정적 문자열을 사용하지 않는 이유는 무엇입니까? jquery 자원을 실제 경로에 넣어야합니다. (2) 진단을 원한다면, 브라우저가로드 된 후 "소스보기"를 실행하면'ResolveUrl'이 해결할 내용을 볼 수 있습니다. 이것은 당신이 경로에 사용해야 할 것에 대한 힌트를 줄 수 있습니다. – Cheeso

+0

정말 많은 도움이 될지 확실하지 않지만 jQuery를 id 이외의 다른 것을 사용하여 사용할 수 있습니다. "datepicker"클래스로 설정하면 ClientID와 싸울 필요가 없습니다. 대신 $ (. datepicker) .datepicker();를 사용하십시오. – guildsbounty

+0

당신은 또한'jQuery ("[id $ = 'datepicker']") .datepicker();'코드를'jQuery (document) .ready (function() {/ }); ' –

답변

0

나는이 문제가 단지 콘텐츠 페이지에 스크립트 참조를 추가하는 것입니다 라운드 얻을 발견하는 유일한 방법에 대한 자기 닫는 태그를 사용하지 마십시오. 미리 렌더링하는 동안 jquery를 추가하는 것과 같은 방법으로 jqueryui를 추가하려고 시도했습니다. 그냥 작동하지 않습니다.

관련 문제