Jquery时间选择器在用户控件中不工作

本文关键字:工作 控件 用户 时间 选择器 Jquery | 更新日期: 2023-09-27 18:07:53

当我在网页中使用下面的代码时。Aspx文件),它工作得很好;但当我使用下面的用户控件(。

如何解决这个问题?我需要在主页上做任何修改吗?

<%@ 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>

Jquery时间选择器在用户控件中不工作

文本框的id不正确,

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

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

我可能会建议您的路径已经更改,这意味着脚本/CSS导入的src/href值是错误的。

与其使用将跳转到目录的相对路径,不如尝试从网站的根开始限定路径(以正斜杠/开始URL),例如:

<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"
另外值得一提的是,虽然控件ID前缀可以管理(甚至在.NET4中关闭),但通常服务器端控件在页面中具有由其父容器调制的ID,例如:
txtFromDate -> ctl001_txtFromDate

如果您最初没有在页面中使用服务器端控件,您可能需要检查您是否引入了jQuery在呈现的页面中查找控件的问题。

问题是脚本引用中的SRC url。它是相对于使用控件的页面位置的,而不是控件本身。

我建议你把你的css/script链接放在[master]页面,而不是用户控件。