這幾天做項目過程中,發現要在用戶控件裡做一個無刷新的Dropdownlist聯動效果時遇到了些問題,現在終於將問題解決了,因此寫出來與大家分享一下,呵呵,也許這裡的高手們都已知道這問題是如何解決的了,不過為了讓自己也留下些印象,還是決定在此獻丑了!
要實現無刷新效果,相信大家都會馬上想到AJax,不錯,我現在就是用AJaxPRO來完成的,其實我之前一直解決不了的一個問題就是在用戶控件裡調用JavaScript獲取頁面的控件ID,大家都知道如果是在一般的ASPX頁面,要獲取控件只需要使用
Document.getElementById(ControlID);
就可以獲取所需的控件了,不過如果是使用用戶控件,然後在另一個頁面調用此用戶控件,那麼直接使用上面的方法就獲取不了用戶控件頁面裡的子控件了,我想這應該是由於用戶控件被另一頁面調用,而其實並不屬於那個頁面的,所以每次用此方法獲取時,都會提示“缺少對象”的錯誤。
要在用戶控件頁面裡要獲取其裡面的控件,可以用以下的方法:
var id = '<%=this. ControlID.ClIEntID%>';
var Object=document.getElementById(id);
通過上面2句,就可以獲取實際用戶控件頁面裡的子控件了!
以下是我的部分實現代碼,主要是完成了省份與城市的聯動:(關於數據綁定的代碼我就不寫出來了,在此只寫出相關性的代碼)
CS文件:
1、先注冊一個AJaxPro組件,然後綁定DropDownList控件的數據,其加上JS的事件