2009-06-17 7 views

Répondre

9
document.getElementById('<%= yourDropdown.ClientID %>').onchange(); 

cela devrait fonctionner, si vous obtenez toujours une erreur, vous pouvez essayer comme ceci:

setTimeout('__doPostBack(\'yourcontrolClientSideID\',\'\')', 0); 

yourcontrolClientSideID est l'ID de l'ID du client rendu.

+3

utilisez "yourDropdown.ClientID" (avec ID en majuscules) ... –

1

Appel onchange méthode comme ça à côté client:

document.getElementById('yourDropdownsClientId').onchange(); 

EDIT: Si vous définissez la propriété AutoPostBack de votre menu déroulant true, le code ci-dessus poster votre page au serveur, que votre événement côté serveur être appelé.

Mais si vous voulez appeler votre événement manuellement, vous pouvez tout partout dans le behind de votre page comme ça:

myDropDownList_SelectedIndexChanged(null, new EventArgs()); 
+0

mais je veux tirer menu déroulant côté serveur événement SelectedIndexChanged, j'ai ma logique sur le côté serveur. –

+0

mais en faisant ce document.getElementById ('yourDropdownsClientId'). Onchange(); Obtenir l'erreur javascript. –

0

ouais ... Je pense que ce Canavar dit fonctionnera, mais il devra regarder comme celui-ci

document.getElementById('<%=yourDropdown.ClientId%>').onchange(); 
1

Voici un exemple de travail:

function fireEvent(element,event){ 
if(document.createEvent){ 
// dispatch for firefox + others 
var evt = document.createEvent(”HTMLEvents”); 
evt.initEvent(event, true, true); // event type,bubbling,cancelable 
return !element.dispatchEvent(evt); 
} 
else{ 
// dispatch for IE 
var evt = document.createEventObject(); 
return element.fireEvent(’on’+event,evt) 
} 
} 
Questions connexes