: 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에 대한 여러 가지 조합을 시도했습니다.
누군가가이 문제를 해결할 수 있습니까? 내가 뭘 놓치고 있니?
두 가지 제안 : (1) jquery 관련 css 및 js에 ResolveUrl을 사용하지만 다른 문자열에 정적 문자열을 사용하는 이유는 무엇입니까? jquery 관련 리소스에 정적 문자열을 사용하지 않는 이유는 무엇입니까? jquery 자원을 실제 경로에 넣어야합니다. (2) 진단을 원한다면, 브라우저가로드 된 후 "소스보기"를 실행하면'ResolveUrl'이 해결할 내용을 볼 수 있습니다. 이것은 당신이 경로에 사용해야 할 것에 대한 힌트를 줄 수 있습니다. – Cheeso
정말 많은 도움이 될지 확실하지 않지만 jQuery를 id 이외의 다른 것을 사용하여 사용할 수 있습니다. "datepicker"클래스로 설정하면 ClientID와 싸울 필요가 없습니다. 대신 $ (. datepicker) .datepicker();를 사용하십시오. – guildsbounty
당신은 또한'jQuery ("[id $ = 'datepicker']") .datepicker();'코드를'jQuery (document) .ready (function() {/ }); ' –