web使用者控制項有很多優點,最大的好處是有視覺化的介面,讓我們這麼懶人可能更方便的設計介面。但我們使用時一般都是將它直接拖到頁面中。這樣做只是將頁面的控制項打包到一起,多處使用而已,還不能充分發揮它的強大功能。其實我一直在想,能不能在頁面中動態載入它呢?就是根據不同的請求載入不同的使用者自控義控制項呢?
昨天剛好遇到了這個問題。經過一天的試驗,終於可以把它實現了。步聚如下:
1、首先,製作web使用者控制項。比如:a.ascx. b.ascx. c.ascx
分別為他們定義乙個方法 (這一步可以不要,為了演示怎樣呼叫方法):
public void binddata(...) 。作用是繫結資料。
2、將它們與關鍵字一同儲存到資料庫。
如key control
a a.ascx
b b.ascx
c c.ascx
3、在頁面的page_load()方法中加入以下**:
首先是根據不同的請求取到,webusercontrol 的虛擬路徑(略),儲存到字串變數path中。
usercontrol control
=(usercontrol)loadcontrol(path);
pnlmain.controls.add(control);
//pnlmain是乙個頁面上的panel
methodinfo method
=control.gettype().getmethod(
"binddata
");
//這裡用到了反射的東西,所以要using system.reflection
method.invoke(control,
newobject
...);
//formid是實參。
關於如何在頁面中手工呼叫 在我blog中另外一篇中有說明。
如何在頁面中獲取到ModelAndView繫結的值
以下內容 springmvc中通過modelandview進行後台與頁面的資料互動,那麼如何在頁面中獲取modelandview繫結的值呢?1 在jsp中通過el表示式進行獲取 比較常用 後台 modelandview model new modelandview model.addobject n...
C 動態載入元件後如何在開發環境中除錯詳解
動態載入元件 那就是簡單的assembly.load動態載入dll而以。這網上資料也有不少。基本的思路基本上就是在本地上乙個指定目錄如 plugs 存在著一堆dll檔案。主程式在初始執行時一般會把指定目錄下的dll一次性用assembly.load載入進來。只要把指定目錄變成從網路載入,或者載入指定...
Web前端效能優化 如何提高頁面載入速度
最近參加了兩次前端面試,都提到了頁面優化的問題,所以做個記錄吧!字型圖示 在可以大量使用字型圖示的地方我們可以盡可能使用字型圖示,字型圖示可以減少很多的使用,從而減少http請求,字型圖示還可以通過css來設定顏色 大小等樣式。將樣式表放在頭部對於實際頁面載入的時間並不能造成太大影響,但是這會減少頁...