我试图添加一个JavaScript函数来显示列表框中的所有选定项目作为页面上的标签中的concatenated字符串。这是必要的,因为AutoPostBack =“true”将导致列表框一直滚动回第一个选定的项目。ListBox SelectedIndexChanged事件是否需要在ASP.NET中回传?
所以此代码的工作:
<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>
不幸的是我还需要后面的SelectedIndexChanged委托的代码。有没有办法使用这两个这些没有做PostBack?当我设置AutoPostBack =“false”时,我的委托似乎从未达到过。
我正在使用UpdatePanel。我没有找到maintainScrollPositionOnPostBack属性。 – Blanthor 2010-10-25 22:09:29
有很多UI逻辑会在代码后面的OnSeletectedIndexChanged事件中被触发。如果我是一名JavaScript大师,我不会将所有事情都搬到客户手中。 – Blanthor 2010-10-25 22:16:45
Zoinks!我可能应该知道服务器需要使用服务器端代表:D。 – Blanthor 2010-10-26 13:33:03