如何在頁面中動態載入Web使用者控制項

2021-04-13 12:59:51 字數 1006 閱讀 9087

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來設定顏色 大小等樣式。將樣式表放在頭部對於實際頁面載入的時間並不能造成太大影響,但是這會減少頁...