章老師您好:
拜讀了您的「用實例學AJAX ASP.NET 3.5 用戶端篇-使用VB」裡面的範例相當的多且實用。
日前參考您於第3章的範例18,是關於在ListView上移動滑鼠,會有光棒的效果且下方的圖片
會跟著改變。我試著實作一次,希望能實作出Accordion(利用sqldatasource自動產生header與
content),且內容顯示是利用ListView顯示再加上移動滑鼠會有光棒效果及圖片變動顯示的功能。
基本上功能實作出來了,但是在實作過程中有許多困難以致於與書中的範例程式碼有所不同,因此
想與老師討論:
1. 如果組成ListView的template並非僅由ItemTemplate,還包含AlternateItemTemplate,且表頭
是由LayoutTemplat控制,那麼似乎無法參考書中的範例,在ItemDataBound事件內在myTable
動態加入事件;雖然在LayoutTemplate裡有表格的id但是我在上述事件無法利用FindControl找到
該表格的id。我曾經試著用for each去找listview裡所有的控制項id並與書中範例比較,發現我找到
的都是包含在listview裡頭的label控制項,完全沒有table;但老師的範例找到的都是myTable
請問這樣還有別的辦法動態註冊事件嗎?
2. 承1,我後來是在source中直接撰寫javascript解決這項問題,但是在撰寫的過程中我有個疑問,
為何可以利用Image伺服器控制項動態顯示圖片?不是應該要postback嗎?我看老師的程式碼是
document.getElementById('PhotoBig').src=url ,而不是設定imageURL屬性。因此我試著把
PhotoBig伺服器控制項改成html控制項結果竟然ok耶~~我不太瞭解為什麼可以這樣設定,可以請
老師解釋嗎?另外如果我目前這樣的作法是否便無法利用到Microsoft AJAX Library擴充功能呢?
還是有別的方法可以使用呢?謝謝老師~