Asp.net 无法使用网站管理员在网络表单中运行pikaday.js

Asp.net 无法使用网站管理员在网络表单中运行pikaday.js,asp.net,Asp.net,在使用sitemaster的Web表单中,我无法使用pikaday的功能,但在我创建的新Web表单中,如果没有sitemaster,我可以使用该功能进行测试。我如何解决这些问题 使用sitemaster: <asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server"> <link href="css/pikaday.css" rel="stylesheet" />

在使用sitemaster的Web表单中,我无法使用pikaday的功能,但在我创建的新Web表单中,如果没有sitemaster,我可以使用该功能进行测试。我如何解决这些问题

使用sitemaster:

<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
    <link href="css/pikaday.css" rel="stylesheet" />
    <link href="css/theme.css" rel="stylesheet" />
    <link href="css/site.css" rel="stylesheet" />
    <script src="moment.js"></script>
    <script src="pikaday.js"></script>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
     <script>
            var picker = new Pikaday({
                field: document.getElementById('TextBox1'),
                firstDay: 1,
                format: 'YYYY-MM-DD',
                minDate: new Date('2015-01-01'),
                maxDate: new Date('2050-12-31'),
                yearRange: [2015, 2050],
                numberOfMonths: 1,

            });

        </script> </asp:Content>
<body>
    <form id="form1" runat="server">
    <div>
        <link href="css/pikaday.css" rel="stylesheet" />
        <link href="css/site.css" rel="stylesheet" />
        <link href="css/theme.css" rel="stylesheet" />
        <script src="moment.js"></script>
        <script src="pikaday.js"></script>
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
     <script>
            var picker = new Pikaday({
                field: document.getElementById('TextBox1'),
                firstDay: 1,
                format: 'YYYY-MM-DD',
                minDate: new Date('2015-01-01'),
                maxDate: new Date('2050-12-31'),
                yearRange: [2015, 2050],
                numberOfMonths: 1,

            });

        </script>
    </div>
    </form> </body>
没有sitemaster:

<asp:Content ID="Content3" ContentPlaceHolderID="MainContent" runat="server">
    <link href="css/pikaday.css" rel="stylesheet" />
    <link href="css/theme.css" rel="stylesheet" />
    <link href="css/site.css" rel="stylesheet" />
    <script src="moment.js"></script>
    <script src="pikaday.js"></script>
    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
     <script>
            var picker = new Pikaday({
                field: document.getElementById('TextBox1'),
                firstDay: 1,
                format: 'YYYY-MM-DD',
                minDate: new Date('2015-01-01'),
                maxDate: new Date('2050-12-31'),
                yearRange: [2015, 2050],
                numberOfMonths: 1,

            });

        </script> </asp:Content>
<body>
    <form id="form1" runat="server">
    <div>
        <link href="css/pikaday.css" rel="stylesheet" />
        <link href="css/site.css" rel="stylesheet" />
        <link href="css/theme.css" rel="stylesheet" />
        <script src="moment.js"></script>
        <script src="pikaday.js"></script>
       <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
     <script>
            var picker = new Pikaday({
                field: document.getElementById('TextBox1'),
                firstDay: 1,
                format: 'YYYY-MM-DD',
                minDate: new Date('2015-01-01'),
                maxDate: new Date('2050-12-31'),
                yearRange: [2015, 2050],
                numberOfMonths: 1,

            });

        </script>
    </div>
    </form> </body>

我有完全相同的问题,在做了研究之后,我发现了以下问题:在pikaday.css文件中,特别是在第35行,似乎有一个css属性需要更改:

.pika-single.is-bound{position: absolute !important}
只需添加!位置旁边的重要信息:绝对声明

同样,在javascript中,您必须引用如下文本框:

var $txtDate = $("[id$=Client_Id_Generated_by_Aspx_page]")
根据$=运算符,此选择器将在末尾查找您在IDE(例如Visual Studio)的ASPX页面上指定的文本框ID的引用。这适用于.Net Framework 3.5或更低版本,因为在.Net Framework 4.0或更高版本上,似乎有一种方法可以在服务器端分配ClientID,以便在前端.js文件上使用它

我希望这对你有帮助

干杯