在ASP.NET中動態載入內容(使用者控制項和模板)
來源:互聯網
上載者:User
asp.net|動態|載入|控制項|模板 在ASP.NET中動態載入內容(使用者控制項和模板)
要點:
1. 使用Page.ParseControl
2. 使用base.LoadControl
第一部分:載入模板
下面是一個模板“<table width=100%><tr><td width=100% colspan=2 runat=server id=ContainerTop></td></tr><tr><td width=30% runat=server id=ContainerLeft></td><td width=70% runat=server id=ContainerRight></td></tr></table>”如何把它添加到頁面中那。
首先,你要有一個頁面(.aspx),在頁面中有一個一行一列的表格,並且是伺服器端的TD我們就把它命名為TemplateContainer。好了現在到代碼編輯視窗,在page_load中載入模板。
第二步,使用Page.ParseControl將上邊的HTML程式碼分析為web表單頁或使用者控制項的System.web.ui.control如下代碼:
protected System.Web.UI.HtmlControls.HtmlTableCell TemplateContainer;
System.Web.UI.Control objContainer;
private void Page_Load(object sender, System.EventArgs e)
{
objContainer =Page.ParseControl(“上邊的HTML代碼);
this.TempContainer.Controls.Add(objContainer);
}
模板已經載入完畢。
第二部分:載入使用者控制項
首先,你要確定使用者控制項要載入到頁面的那個位置。現在你會發現第一部分的那段HTML代碼,其中每一個TD都是一個容器你可以通過Page.FindControl找到你要載入控制項的容器。如下代碼:
System.Web.UI.Control objControl=Page.FindControl("ContainerTop");
第二,找到容器後,就可以將你的使用者控制項載入到頁面中了。如下代碼:
objControl.Controls.Add(base.LoadControl(“使用者控制項虛擬路徑”));
現在運行程式看看,是不是已經載入了使用者控制項。
以上是動態載入模板和使用者控制項的一些主要部分,要想做一個比較好的頁面還需要加入許多必要的東西,如將模板和使用者控制項的虛擬路徑都儲存到資料庫中、對頁面已經載入了的使用者控制項進行位置的調整。對許可權的控制如那些人可以看什麼使用者控制項那些人不可以 看使用者控制項,等等。
下面中一個例子:http://elt.nec.edu.cn,不過在這裡你不能調整使用者件位置。(我當然可以了)在這個例子中的導覽列也是動態載入的,不同的頁可能使用不同的模板載入不同的使用者控制項。