2009-01-13 6 views
1

Salut à tous,Comment le contrôle d'accès ASP situé dans un contrôle utilisateur via JavaScript

Je suis la conception d'un contrôle utilisateur, brièvement il contient un aspic: contrôle HiddenField, je vais y accéder via JavaScript fonction comme ceci

function doAnyThing 
{ 
    var myVar = document.getElementById("myHiddenFiled"); 
} 

mais quand je trace mon code que j'ai trouvé maVar attribué à null, est-il important

document.getElementById() 

méthode est utilisée en cours d'utilisation r le fichier de contrôle (.ascx) ou le fichier régulier (.aspx), en prenant en compte le fait qu'il fonctionne correctement dans le fichier (.aspx)

Répondre

9

Vous avez dû définir par ID client l'ID final de votre contrôle, qui dépendra du structure de votre page. Essayez ceci:

function doAnyThing 
{ 
    var myVar = document.getElementById("<%= yourControlServerID.ClientID %>"); 
} 

Il est évident que cette fonction doivent être placés dans le fichier .aspx. Je vous suggère de passer à utiliser un framework comme jQuery, qui vous permet de récupérer les contrôles par des sélecteurs plus sofisticate. Ce cas sera résolu par:

$("[id$=yourControlServerID]"); 

et vous pouvez placer votre code javascript même dans un fichier .js externe.

+0

Merci tanathos. ça a marché pour moi. –

2

pour vous simplifiez pouvez utiliser:

JQuery

$("<%= yourControlServerID.ClientID %>"). .... 

ASP.NET annotation JavaScript:

var myVar = $get("<%= yourControlServerID.ClientID %>"); 

le code d'annotation JavaScript ASP.NET est le même que:

var myVar = document.getElementById("<%= yourControlServerID.ClientID %>") 
Questions connexes