成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在ASP.NET中使用PlaceHolder控件

開發 后端
ASP.NET的PlaceHolder 控件可以將其它控件作為一個集合(collection)包含起來。你可以在運行時清除那個collection或添加它,本文將向您介紹該控件的使用方法。

51CTO推薦:ASP.NET視頻教程

在從一個Web頁面轉換到另一個Web頁面時,你的ASP.NET應用程序的用戶界面的某些部分常常是保持不變的——如某些“裝飾”的部分:頁眉處的GIF圖片、水平工具條或導航條、左側的鏈接、等等。你可以繼續用它們,而不必為每個頁面重建。

在過去,一個流行的ASP技術就是為一個頁面的每個主要部分創建一個include文件,然后建一個整體的HTML表,表的單元包含每個include文件。這種方法是可行的,但是不美觀,還容易出錯。幸運的是,ASP.NET可以讓你用一種更好的方法來解決這個問題,運用一個Visual Studio .NET PlaceHolder Web控件。該控件將其它控件作為一個集合(collection)包含起來。你可以在運行時清除那個collection或添加它;例如,你可以在運行時添加一個Web用戶控件(一個模塊式的Web頁面)。我將講述如何將PlaceHolder Web控件同Web用戶控件結合起來運用,為構建ASP.NET應用程序提供一個方法。

首先在VS.NET中創建一個新的ASP.NET Web應用程序。我在樣例代碼中用的是C#。創建一個Web窗體,保存的文件帶有ASPX擴展名。我稱其為我的main.aspx。該頁面是你的應用程序中唯一的Web頁面,因為你用Web用戶控件(ASCX文件)來開發所有的頁面“內容”。

在main.aspx頁面中創建你選擇的站點裝飾內容。在你想放置站點豐富內容地方添加一個PlaceHolder控件。然后,將下面的代碼添加到你的頁面的Page Load事件中:

private void Page_Load(object sender, 
System.EventArgs e) 
{ 
string p = Request.QueryString.Get("p"); 
PlaceHolder1.Controls.Clear(); 
if (p == null) 
PlaceHolder1.Controls.Add(LoadControl 
("modules/" + "Default" + ".ascx")); 
else 
{ 
PlaceHolder1.Controls.Add(LoadControl 
("modules/" + p + ".ascx")); 
} 
} 

通過該代碼,你可以在項目模塊文件夾中看到一個包含Web用戶控件頁面(ASCX)的名字的查詢字符串參數p。你不用將所有ASCX文件都放在一個單獨的文件夾中,但這么做的確可以進一步隔離應用程序。

一旦你得到那個字符串后,清空PlaceHolder的Controls集合,清除你在先前可能顯示的任何ASCX。然后,查看一下代碼,看你是否需要加載一個缺省的ASCX。***,如果p查詢字符串是請求的一部分,那么由p查詢字符串代表的頁面就被加載了。

你不需要費很大的勁構建代碼來在你的站點上顯示多個Web頁面。在你的VS.NET項目中添加一個新的Web用戶控件頁面。一旦你添加了這個頁面,你就可以把它當作你的應用程序中的唯一的頁面來設計并編寫代碼了;你甚至不需要知道它將在main.aspx頁面中運行。當然,如果該頁面需要與主頁面交互,情況并沒有這么簡單,但在這里我并不打算講述這個問題。 


圖1. 保持你的Web GUIs的恒量元素

 設想你需要在VS.NET開發環境中顯示一個Account Logon用戶控件(見圖1)。代碼只給開發人員提供與該頁面細節相關的UI。沒有辦法改變整體頁面的其它方面。

現在,當你在一個瀏覽器中運行http://localhost/CSCSdotNET/main.aspx時,首先加載了default.ascx頁面,這是由于main.aspx的Page Load事件的緣故。要導航到Login頁面,你只需將一個p查詢字符串參數添加到請求——在這個例子中,運用URL http://localhost/CSCSdotNET/main.aspx?p=01-AccountLogon。現在顯示的就是整個main.aspx頁面,以及你在圖1中看到的動態加載的01-AccountLogon.ascs Web用戶控件。

 

【編輯推薦】

  1. 詳解ASP.NET的四種狀態
  2. ASP.NET十個有效性能優化的方法
  3. MVC下ASP.NET的表單驗證實現
責任編輯:佚名 來源: 博客園
相關推薦

2009-02-05 13:40:03

TreeviewXMLASP.NET

2009-07-20 16:45:41

使用StringBuiASP.NET

2009-07-21 17:27:12

UpdateProgrASP.NET AJA

2009-07-23 16:44:51

AdRotator控件ASP.NET

2009-07-24 15:35:00

ASP.NET Gri

2009-07-29 13:32:06

ASP.NET控件使用

2009-07-30 12:30:27

ASP.NET中使用S

2009-01-03 08:41:51

Ajax無框架的AjaxASP.NET

2009-07-22 09:36:54

使用UpdataModASP.NET MVC

2009-08-07 17:59:35

控件設計器

2009-08-04 15:20:59

ASP.NET數據驗證數據驗證控件

2010-11-18 08:46:27

ASP.NET MVC

2009-07-27 13:52:36

Panel控件ASP.NET

2009-07-27 16:19:59

ASP.NET報表控件

2009-07-27 17:25:53

ASP.NET驗證控件

2009-08-17 09:24:25

ASP.NET控件

2009-08-03 15:08:00

SqlDataSour

2025-04-16 10:12:13

2009-07-29 13:50:26

UpdatePanelASP.NET

2009-08-05 15:57:03

ASP.NET控件ID
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩在线视频一区 | 热久久免费视频 | 亚洲成人福利视频 | 91在线| 久久一区二区三区四区 | 亚洲国产精品福利 | 水蜜桃亚洲一二三四在线 | 午夜精品一区二区三区在线播放 | av毛片免费 | 午夜影院普通用户体验区 | 中国xxxx性xxxx产国 | 久热精品免费 | 91av在线视频观看 | 精品久久久久久 | 亚洲精品成人在线 | 一级黄色播放 | 爱综合 | 亚洲国产精品视频 | 国产精品国产精品国产专区不卡 | 欧美日韩久久久久 | 国产一区二区三区精品久久久 | 91麻豆精品国产91久久久久久 | 亚洲欧洲精品在线 | jav成人av免费播放 | 久久国产视频网 | 国产高清视频 | 欧美激情精品久久久久久免费 | 国产精品a一区二区三区网址 | 手机av免费在线 | 国产视频精品免费 | www.日韩高清| 九色 在线| 91精品免费 | 欧洲成人 | 免费a大片 | 久久久久久久久久久久亚洲 | 视频一区在线观看 | 亚洲精品福利视频 | 第一区在线观看免费国语入口 | 99精品免费在线观看 | 精品欧美乱码久久久久久1区2区 |