Javascript 在 asp.net 内容页面中不起作用

标签 javascript asp.net

我试图在内容页面的文本框中显示 javascript 日期时间选择器,该文本框派生自母版页,但日期时间选择器未显示。
这是我的内容页面:

<link rel="stylesheet" href="Datepicker.css">
<script src="https://code.jquery.com/jquery.js"></script>
<script src="Datepicker.js"></script>
<script>
$(document).ready(function() {
    $('#dp').datepicker();
});
</script>
<script>
$(document).ready(function() {
    $('#dp1').datepicker();
});
</script>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:Label ID="Label1" runat="server" Text="From"></asp:Label>&nbsp;
    <input id="dp" type="text" runat="server"/>&nbsp;
    <asp:Label ID="Label2" runat="server" Text="To"></asp:Label>&nbsp;
    <input id="dp1" type="text" runat="server" />&nbsp;
    <asp:Button ID="Button1" runat="server" Text="Search" onclick="Button1_Click" />
<asp:GridView ID="gvdetails" runat="server">
</asp:GridView>
</asp:Content>

注意:这在没有母版页的情况下有效,但是当我将它添加到内容页中时,它不起作用。请帮助

最佳答案

当通过 IIS 提供 ASP 服务时,所有 runat="server"元素被赋予一个唯一的名称。

为了找到这个名字,使用 <%= %> ClientID 的语法你的对象。在您的情况下,它将是:

$('#<%=dp1.ClientID%>').datepicker();

或者,您可以将元素设置为使用静态名称。

<input id="dp1" type="text" runat="server" ClientIDMode="Static" />

(但不要两者都做)

关于Javascript 在 asp.net 内容页面中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25820222/

相关文章:

javascript - 我如何使用 CodeIgniter 和 jquery 调用 SQL 查询并将其加载到 DATATABLE 插件?

javascript - 单击后未隐藏wordpress移动菜单

c# - Jquery Ajax 和 asp.net WebMethod

c# - 用户控制点击事件

c# - 如何从 Visual Studio 解决方案/项目中读取文件?

javascript - 为什么对象数组在 firebug 中显示为空白,尽管它包含项目 - Javascript + AngularJS

javascript - 混合构造函数并在 Javascript 代理对象上应用陷阱

javascript - 如何使用 Javascript 替换字符串中的大引号?

jQuery 可选定制

c# - 混淆模型与 View 模型