我在母版页中调用jquery时出错

时间:2009-09-16 09:51:30

标签: 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 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>

这很好。

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

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

2 个答案:

答案 0 :(得分:4)

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

$("[id$='TextBox1']").datepicker();

这将检查ID以“TextBox1”结尾的元素。

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

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

答案 1 :(得分:0)

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

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