我試圖添加一個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