程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 在Asp.Net中動態加載控件

在Asp.Net中動態加載控件

編輯:關於ASP.NET

問題:

假設您有一個Aspx頁面,其包含一個名為"Add New" 的Button,而您則想讓用戶每次點擊Button,PostBack到Server,然後創建一個用 戶控件的實列,並最終想動態的添加到該頁面的ControlCollections中。

之所以我說用用戶控件,是因為我們很容易把許多的控件組織到一個單獨的控件 中,添加的時候,我們只需把該用戶控件添加到頁面上就可以了。

設計 解決方法:

我所想到的解決該問題的方法是在Aspx頁面上放一個 PlaceHolder容器控件,該控件可以把所有的控件動態的添加到裡面。另外,我們 還設計一種"Page Controller"模式,讓所有操作動態添加控件的方法 都放到一個名為BasePage基類中,也就意味著,如果我們的一些Aspx頁面想動態 的添加一些控件,我們只需從這個BasePage類繼承。

最後,我們也必須考 慮在一個Aspx頁面上不僅僅包含一個PlaceHolder,反之,您可以把控件動態的添 加到任何的地方

最終解決方法

首先在Vs 2008創建一個 WebSite.

創建完之後,添加一個BasePage類,然後把下面的代碼添加到其 中

Code

// Holds the Session Key to store the added-controls on page
private const string SESSION_CONTAINERS_KEY = "Controls_In_Container";
// Holds the path to a user control
private const string PATH_TO_CONTROL = "~/App_Controls/{0}";

該SESSION_CONTAINERS_KEY將被用做Session 的值來保存 ,而PATH_TO_CONTROL則定義了您的程序所要載入用戶控件的虛擬路徑。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved