Jquery Time Picker не работает в пользовательском контроле - PullRequest
0 голосов
/ 08 сентября 2011

Когда я использую приведенный ниже код на веб-странице (файл .aspx), он работает нормально;но когда я использую ниже в пользовательском элементе управления (файл .ascx), он не работает.

Как это исправить?Нужно ли вносить какие-либо изменения в мастер-страницу.

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="ExclusionSwipeCardRequest.ascx.cs" Inherits="ExclusionSwipeCardRequest" %>
<link type="text/css" rel="stylesheet" href="../App_Themes/LMSTheme/jquery-ui-1.8.16.custom.css" />
<script type="text/javascript" src="../Scripts/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="../Scripts/jquery-ui-1.8.16.custom.min.js"></script>
<script type="text/javascript" language="javascript">
$(function() {
    $("#txtFromDate").datepicker({ dateFormat: 'mm-dd-yy', changeMonth: true, changeYear: true });   
});
</script>

<asp:TextBox ID="txtFromDate" MaxLength="10" runat="server" autocomplete="off" ToolTip="Enter From Date"></asp:TextBox>

Ответы [ 3 ]

1 голос
/ 08 сентября 2011

неверный идентификатор для текстового поля,

попробовать

$("#<%=txtFromDate.ClientID%>").datepicker({ dateFormat: 'mm-dd-yy', changeMonth: true, changeYear: true }); 

вместо

$("#txtFromDate").datepicker({ dateFormat: 'mm-dd-yy', changeMonth: true, changeYear: true }); 
0 голосов
/ 08 сентября 2011

проблема в том, что URL ссылки в вашем скриптеэто связано с расположением страницы, где используется элемент управления, а не с самим элементом управления.

Я рекомендую размещать ссылки на css / script на странице [master] вместо пользовательского элемента управления.

0 голосов
/ 08 сентября 2011

Я могу предположить, что ваши пути изменились, что будет означать, что src / href значение скрипта / импорта CSS неверно.

Вместо того, чтобы использовать относительные пути, по которым переходят каталоги up , вы можете попробовать указать путь от корня сайта (начиная с косой черты /), так что:

<link type="text/css" rel="stylesheet" href="/Scripts/App_Themes/LMSTheme/jquery-ui-1.8.16.custom.css" />
<script type="text/javascript" src="/Scripts/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="/Scripts/jquery-ui-1.8.16.custom.min.js"></script>

Очевидно, что если есть какие-либо пути между корнем и папкой Scripts, вам необходимо указать его, например:

src="/MyIntermediatePath/Scripts/jquery-1.6.2.min.js"

Также стоит отметить, чтохотя префиксом идентификатора элемента управления можно управлять (даже отключить в .NET4), обычно элементы управления на стороне сервера имеют идентификаторы на странице, которые были придуманы их родительским контейнером, например:

txtFromDate -> ctl001_txtFromDate

Если выЕсли вы изначально не используете серверный элемент управления на странице, вы можете проверить, что у вас не возникло проблем с поиском элемента управления на отображаемой странице в jQuery.

...