JQuery datepicker不能在asp.net中使用masterpage

时间:2013-12-30 07:28:11

标签: c# jquery asp.net datepicker

这是我的Masterpage 源代码

    <%@ Page Title="" Language="C#" MasterPageFile="~/Usermaster.Master" AutoEventWireup="true"
    CodeBehind="ApproveLoanpage.aspx.cs" Inherits="WebLoanCalculator.ApproveLoanpage" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %>

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css">
<script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<script type="text/javascript">

按文本框ID绑定的代码

$(function () {
            $("#<%= txtCashAmt.ClientID %>").datepicker({
            changeMonth: true,
            changeYear: true
        });
    });

按文本框类别编写代码。

$(function () {
                $(".date").datepicker({
                changeMonth: true,
                changeYear: true
            });
        });
</script>

<table style="width: 100%">
        <tr>
            <td>
                <asp:TextBox ID="txtCashAmt" runat="server" CssClass="date"></asp:TextBox>
<asp:TextBox ID="txtCashAmt2" runat="server" CssClass="date"></asp:TextBox>
            </td>
            <td>
                &nbsp;</td>
        </tr>
    </table>
</asp:Content>

解释 这里我有多个textbox,我不想通过ID绑定它们。我希望使用类与文本框类绑定JQuery datepicker,就像我为每个文本框分配了date类一样。

以上代码在普通的.aspx页面中工作,但是当我在母版页中使用此代码时,它无效。这是我的问题。请帮助我在jquery datepicker

中按类textboxasp.net master page绑定

修改后

我收到如下错误。

TypeError:$(...)。datepicker不是函数

在浏览器控制台中。

1 个答案:

答案 0 :(得分:5)

它工作正常,请尝试以下代码&amp;检查你的互联网连接,因为你对jquery的引用是在线的,否则下载jquery文件并在项目中使用。

        <%@ Master Language="C#" AutoEventWireup="true" CodeFile="site.master.cs" Inherits="site" %>

        <!DOCTYPE html>
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head runat="server">
            <title>DateTime Picker</title>

            <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
            <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
            <script type="text/javascript" src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
            <asp:ContentPlaceHolder ID="head" runat="server">
            </asp:ContentPlaceHolder>
        </head>
        <body>
            <form id="form1" runat="server">
                <div>
                    On Master Page
                     <asp:TextBox ID="txtCashAmt3" runat="server" CssClass="date"></asp:TextBox>
                        <asp:TextBox ID="txtCashAmt4" runat="server" CssClass="date"></asp:TextBox>
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
                </div>
            </form>
        </body>
        </html>
    <%@ Page Title="" Language="C#" MasterPageFile="~/site.master" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

    <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server">
        <script>
            $(function () {
                $(".date").datepicker({
                    changeMonth: true,
                    changeYear: true
                });
            });
        </script>
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">

        <table style="width: 100%">
            <tr>
                <td>
                    On Sub Page
                    <asp:TextBox ID="txtCashAmt" runat="server" CssClass="date"></asp:TextBox>
                    <asp:TextBox ID="txtCashAmt2" runat="server" CssClass="date"></asp:TextBox>
                </td>
                <td>&nbsp;</td>
            </tr>
        </table>
    </asp:Content>