2009-09-16 8 views
1

J'ai le calendrier datetimepicker jquery. quand j'appelle ceci dans la page simple d'aspx alors son fonctionnement bien mais quand j'appelle dans la page où la page de maître attache alors son ne fonctionne pas.Erreur lors de l'appel de jquery dans le gabarit

Voici le code que j'utilise:

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

qui fonctionne bien.

Mais quand je fais appel comme celui-ci alors son calendrier ne montrant pas

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

Bonjour Pankaj. Lors de l'édition, veuillez sélectionner le bloc de code, et cliquez sur le "Bouton Code" (1010101). Merci, et bienvenue. – Kobi

+0

merci pour votre suggestion –

Répondre

4

ASP.net modifie l'ID de votre contrôle - vous le voyez clairement en vérifiant la source de votre page générée. Essayez:

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

Ceci vérifie qu'un élément dont l'ID se termine par "TextBox1".

Alternativement, vous pouvez résoudre ce à côté serveur:

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

merci, mais s'il vous plaît voir ci-dessus le code lorsque je vous appelle en page aspx simple son problème de fonctionnement s'est produite lorsque je vous appelle en page avec masterpage –

+1

Exactement! Le change l'ID de tous les contrôles, donc vous ne pouvez pas faire correspondre '# TextBox1' - il n'y a pas d'élément avec cet ID. Ouvrez la page dans l'explorateur, cliquez sur afficher la source, et vous verrez ce que je veux dire. – Kobi

+0

@pankaj - Droit de Kobi - lorsque vous ajoutez des contrôles à une page maître, ASP.NET va changer l'ID à quelque chose comme < input id = "control100_TextBox1" type = "Text" >. Vous devez soit utiliser sa modification dans votre sélecteur jQuery, soit modifier le sélecteur à: $ ("# <% = TextBox1.ClientID%>") afin qu'ASP.NET écrit l'ID acutal du contrôle dans votre sélecteur. –

0

Y at-il un élément avec un id de TextBox1? Si vous ouvrez la page dans Firefox et utilisez la console Firebug, quel type d'erreur crache-t-elle?

Vous devez être un peu plus informatif pour que nous puissions vous aider.

+1

La console d'erreur est généralement un bon début, mais ne vous aidera pas dans ce cas: il n'y a pas de bogue en JavaScript. Quand jQuery ne peut pas correspondre à une règle, il ne lance pas d'exception, il renvoie un ensemble vide qui ne fait rien - c'est un design, et très utile. – Kobi

Questions connexes