J'essaye d'ajouter une fonction de Javascript pour montrer tous les articles choisis d'un ListBox comme chaînes concaténées dans un label sur la page. Cela est nécessaire car AutoPostBack = "true" entraînera le ListBox à revenir au premier élément sélectionné.L'événement ListBox SelectedIndexChanged nécessite-t-il une publication dans ASP.NET?
Donc, ce code fonctionne:
<script type="text/javascript">
function Updatelist() {
var sel = document.getElementById('<%=lstbxStuff.ClientID%>');
var lbl = document.getElementById('ctl00_cph_lblSelectedStuff');
var listLength = sel.options.length;
var textForListbox = "";
var list2length = 0;
for (var i = 0; i < listLength; i++) {
if (sel.options[i].selected) {
if(list2length == 0) {
textForListbox = sel.options[i].text;
} else {
textForListbox = textForListbox + ", " + sel.options[i].text;
}
list2length++;
}
}
lbl.innerText=textForListbox;
return textForListbox;
}
</script>
Malheureusement je dois encore le code derrière délégué SelectedIndexChanged. Y at-il un moyen d'utiliser ces deux sans faire un PostBack? Lorsque j'ai défini AutoPostBack = "false", mon délégué ne semble jamais être atteint.
J'utilise le UpdatePanel. Je n'ai pas trouvé l'attribut maintainScrollPositionOnPostBack. – Blanthor
Il y a beaucoup de logique de l'interface utilisateur qui est déclenchée sur l'événement OnSeletectedIndexChanged dans le code derrière. Si j'étais un gourou JavaScript, je n'aurais pas peur de tout déplacer vers le client. – Blanthor
Zoinks! J'aurais probablement dû savoir que le serveur était nécessaire pour utiliser les délégués côté serveur: D. – Blanthor