Asp.net 在母版页中调用jquery时出错

Asp.net 在母版页中调用jquery时出错,asp.net,jquery,Asp.net,Jquery,我有日历datetimepicker jquery。 当我在简单的aspx页面中调用它时,它工作正常,但当我在母版页附加的页面中调用它时,它不工作 以下是我正在使用的代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default11.aspx.cs" Inherits="Default11" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

我有日历datetimepicker jquery。 当我在简单的aspx页面中调用它时,它工作正常,但当我在母版页附加的页面中调用它时,它不工作

以下是我正在使用的代码:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default11.aspx.cs"
         Inherits="Default11" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <link href="ui.all.css" rel="stylesheet" type="text/css" />
    <link href="demos.css" rel="stylesheet" type="text/css" />
    <script src="jquery-1.3.2.js" type="text/javascript"></script>
    <script src="ui.datepicker.js" type="text/javascript"></script>
    <script src="ui.core.js" type="text/javascript"></script>
    <title>Untitled Page</title>
  </head>

  <script type="text/javascript">
$(function() {
    $("#txt").datepicker();
});
  </script>
  <body>
    <form id="form1" runat="server">
      <div>
        <asp:TextBox ID="txt" runat="server"></asp:TextBox>
      </div>
    </form>
  </body>
</html>

无标题页
$(函数(){
$(“#txt”).datepicker();
});
这很好

但当我这样打电话的时候,它并没有显示日历

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" 
         AutoEventWireup="true" CodeFile="CAL.aspx.cs" 
         Inherits="admin_CAL" Title="Untitled Page" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="CPHMain" Runat="Server">
  <link href="ui.all.css" rel="stylesheet" type="text/css" />
  <link href="demos.css" rel="stylesheet" type="text/css" />
  <script src="jquery-1.3.2.js" type="text/javascript"></script>
  <script src="ui.datepicker.js" type="text/javascript"></script>
  <script src="ui.core.js" type="text/javascript"></script>
  <script type="text/javascript">
    $(function() {
    $("#TextBox1").datepicker();
        });
  </script>
  <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</asp:Content>   

$(函数(){
$(“#TextBox1”).datepicker();
});

是否有id为TextBox1的元素?如果您在Firefox中打开页面并使用Firebug控制台,会出现什么样的错误


您需要提供更多信息,我们才能帮助您。

是否有id为TextBox1的元素?如果您在Firefox中打开页面并使用Firebug控制台,会出现什么样的错误


您需要提供更多的信息,以便我们能够帮助您。

ASP.net更改控件的ID-通过检查生成页面的源代码,您可以清楚地看到它。尝试:

$("[id$='TextBox1']").datepicker();
这将检查ID以“TextBox1”结尾的元素

或者,您可以在服务器端解决此问题:

$('#<%= TextBox1.ClientID %>').datepicker();
$('#')。日期选择器();

ASP.net更改控件的ID-通过检查生成页面的源代码,您可以清楚地看到它。尝试:

$("[id$='TextBox1']").datepicker();
这将检查ID以“TextBox1”结尾的元素

或者,您可以在服务器端解决此问题:

$('#<%= TextBox1.ClientID %>').datepicker();
$('#')。日期选择器();

Hello Pankaj。编辑时,请选择代码块,点击“代码按钮”(1010101)。谢谢,欢迎。你好,潘卡吉。编辑时,请选择代码块,点击“代码按钮”(1010101)。谢谢,欢迎使用。错误控制台通常是一个良好的开端,但在这种情况下对您没有帮助:JavaScript中没有bug。当jQuery无法匹配规则时,它不会抛出异常,它会返回一个空集,而该空集不起任何作用-这是经过设计的,非常有用。错误控制台通常是一个良好的开端,但在这种情况下对您没有帮助:JavaScript中没有错误。当jQuery无法匹配规则时,它不会抛出异常,它会返回一个空集,而该空集不起任何作用-这是经过设计的,非常有用。谢谢,但请参阅上面的代码,当我调用simple aspx页面时,它的工作问题发生在我使用masterpageExactly调用页面时!正在更改其中所有控件的ID,因此您无法匹配
#TextBox1
-没有具有该ID的元素。在资源管理器中打开该页,单击“查看源代码”,您将看到我的意思。@pankaj-Kobi是对的-当您将控件添加到母版页时,ASP.NET会将ID更改为类似于input ID=“control100\u TextBox1”的内容type=“Text”。您可以使用他对jQuery选择器所做的更改,也可以将选择器更改为:$(“#”)以便ASP.NET将控件的acutal ID写入选择器中。多亏了你们两人,它才得以工作。我还有一个疑问,请澄清。如果文本框在gridview编辑模板中,那么我如何调用它。然后我为sameNot调用这个文本框——在模板控件中,您不能直接访问它。通常最好有一个类,并使用jQuery按该类进行选择。你可以问另一个问题-我相信你会得到一个详细的答案。谢谢,但请参阅上面的代码,当我调用简单的aspx页面时,它的工作问题发生在我调用MasterPage时!正在更改其中所有控件的ID,因此您无法匹配
#TextBox1
-没有具有该ID的元素。在资源管理器中打开该页,单击“查看源代码”,您将看到我的意思。@pankaj-Kobi是对的-当您将控件添加到母版页时,ASP.NET会将ID更改为类似于input ID=“control100\u TextBox1”的内容type=“Text”。您可以使用他对jQuery选择器所做的更改,也可以将选择器更改为:$(“#”)以便ASP.NET将控件的acutal ID写入选择器中。多亏了你们两人,它才得以工作。我还有一个疑问,请澄清。如果文本框在gridview编辑模板中,那么我如何调用它。然后我为sameNot调用这个文本框——在模板控件中,您不能直接访问它。通常最好有一个类,并使用jQuery按该类进行选择。你可以问另一个问题——我相信你会得到详细的答案。