2010-05-16 5 views
1

Quelqu'un peut-il me montrer comment utiliser jquery dans une page maître imbriquée asp.net? J'ai ma page principale où j'ai ajouté le lien vers la librairie jquery et aussi le framework de validation. J'ai ensuite créé une autre page avec un style et créé une page aspx basée sur cette page.Utilisation de jquery avec des pages maîtres imbriquées

Comment joindre le cadre de validation aux zones de texte de ma page?

J'ai essayé

  $("#aspnetForm").validate({ 
      rules: { 
       <%=txtPostCode.UniqueID %>: { 
        minlength: 2, 
        required: true 
       }, 
       <%=txtContactEmail.UniqueID %>: {       
        required: true, 
        email:true 
       } 
      }, messages: { 
       <%=txtPostCode.UniqueID %>:{ 
        required: "* Required Field *", 
        minlength: "* Please enter atleast 2 characters *" 
       } 
      } 
     }); 

Cependant rien ne se passe. Est-ce que quelqu'un peut-il me montrer la bonne direction?

Répondre

0

Parce que ASP.NET mutile les ID, votre meilleur pari peut être juste définir des classes CSS pour vos commandes de serveur et d'y accéder de cette façon:

<asp:textbox id="Text1" cssclass="myText" runat="server" /> 

$('.myText').whatever(); 

Ce ne sont pas les JS plus efficaces parce que vous choisissez par des classes au lieu des ID, mais cela vous évitera des maux de tête en essayant de gérer les ID modifiés par ASP.NET dans WebForms.

1

Vous pouvez écrire des méthodes wrapper qui passent ID aux fonctions jQuery et appeler ces méthodes, soit avec RegisterStartupScript ou en ligne JS sur les pages enfants:

Javascript:

function makejQueryOnMangledNamesLessPainful(firstSelector, secondSelector) 
{ 
    $(firstSelector).whatever(); 
} 

.aspx:

<script> 
    makejQueryOnMangledNamesLessPainful('#<%=Thing.ClientID%>', 
             '<%=OtherThing.GetClientSelector()%>); 
</script> 

GetClientSelector renvoie une chaîne qui est un sélecteur, soit un ID, soit éventuellement un ensemble de classes dérivé du serveur . Ou toute autre chose, vraiment.

Questions connexes