ListBox + 按鈕 (上移/下移) → 伺服器端 SelectedIndexChanged 事件 → Items.RemoveAt/Items.Insert → ViewState 自動保持新順序。缺點:每次操作完整回傳,網路延遲大、畫面閃爍。
ListBox,加入標題與上/下移按鈕。Items 集合。CompositeControl。AvailableList、SelectedList)。使用者在客戶端重排序後,若觸發其他回傳 (如頁面其他按鈕),伺服器端重建控制項時依 ViewState 還原舊順序,客戶端變更遺失。解決方案:隱藏欄位序列化 + LoadPostData 還原 (見進階篇)。
Page.ClientScript → Page.RegisterClientScriptBlock / RegisterHiddenField。CompositeControl 需手動實作 INamingContainer。ClientIDMode,ClientID 完全依賴命名容器層級。