新聞中心
推薦:ASP.NET視頻教程

慶云ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)建站的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!
在從一個(gè)Web頁(yè)面轉(zhuǎn)換到另一個(gè)Web頁(yè)面時(shí),你的ASP.NET應(yīng)用程序的用戶界面的某些部分常常是保持不變的——如某些“裝飾”的部分:頁(yè)眉處的GIF圖片、水平工具條或?qū)Ш綏l、左側(cè)的鏈接、等等。你可以繼續(xù)用它們,而不必為每個(gè)頁(yè)面重建。
在過(guò)去,一個(gè)流行的ASP技術(shù)就是為一個(gè)頁(yè)面的每個(gè)主要部分創(chuàng)建一個(gè)include文件,然后建一個(gè)整體的HTML表,表的單元包含每個(gè)include文件。這種方法是可行的,但是不美觀,還容易出錯(cuò)。幸運(yùn)的是,ASP.NET可以讓你用一種更好的方法來(lái)解決這個(gè)問(wèn)題,運(yùn)用一個(gè)Visual Studio .NET PlaceHolder Web控件。該控件將其它控件作為一個(gè)集合(collection)包含起來(lái)。你可以在運(yùn)行時(shí)清除那個(gè)collection或添加它;例如,你可以在運(yùn)行時(shí)添加一個(gè)Web用戶控件(一個(gè)模塊式的Web頁(yè)面)。我將講述如何將PlaceHolder Web控件同Web用戶控件結(jié)合起來(lái)運(yùn)用,為構(gòu)建ASP.NET應(yīng)用程序提供一個(gè)方法。
首先在VS.NET中創(chuàng)建一個(gè)新的ASP.NET Web應(yīng)用程序。我在樣例代碼中用的是C#。創(chuàng)建一個(gè)Web窗體,保存的文件帶有ASPX擴(kuò)展名。我稱其為我的main.aspx。該頁(yè)面是你的應(yīng)用程序中唯一的Web頁(yè)面,因?yàn)槟阌肳eb用戶控件(ASCX文件)來(lái)開(kāi)發(fā)所有的頁(yè)面“內(nèi)容”。
在main.aspx頁(yè)面中創(chuàng)建你選擇的站點(diǎn)裝飾內(nèi)容。在你想放置站點(diǎn)豐富內(nèi)容地方添加一個(gè)PlaceHolder控件。然后,將下面的代碼添加到你的頁(yè)面的Page Load事件中:
通過(guò)該代碼,你可以在項(xiàng)目模塊文件夾中看到一個(gè)包含Web用戶控件頁(yè)面(ASCX)的名字的查詢字符串參數(shù)p。你不用將所有ASCX文件都放在一個(gè)單獨(dú)的文件夾中,但這么做的確可以進(jìn)一步隔離應(yīng)用程序。
一旦你得到那個(gè)字符串后,清空PlaceHolder的Controls集合,清除你在先前可能顯示的任何ASCX。然后,查看一下代碼,看你是否需要加載一個(gè)缺省的ASCX。***,如果p查詢字符串是請(qǐng)求的一部分,那么由p查詢字符串代表的頁(yè)面就被加載了。
你不需要費(fèi)很大的勁構(gòu)建代碼來(lái)在你的站點(diǎn)上顯示多個(gè)Web頁(yè)面。在你的VS.NET項(xiàng)目中添加一個(gè)新的Web用戶控件頁(yè)面。一旦你添加了這個(gè)頁(yè)面,你就可以把它當(dāng)作你的應(yīng)用程序中的唯一的頁(yè)面來(lái)設(shè)計(jì)并編寫(xiě)代碼了;你甚至不需要知道它將在main.aspx頁(yè)面中運(yùn)行。當(dāng)然,如果該頁(yè)面需要與主頁(yè)面交互,情況并沒(méi)有這么簡(jiǎn)單,但在這里我并不打算講述這個(gè)問(wèn)題。
圖1. 保持你的Web GUIs的恒量元素
設(shè)想你需要在VS.NET開(kāi)發(fā)環(huán)境中顯示一個(gè)Account Logon用戶控件(見(jiàn)圖1)。代碼只給開(kāi)發(fā)人員提供與該頁(yè)面細(xì)節(jié)相關(guān)的UI。沒(méi)有辦法改變整體頁(yè)面的其它方面。
現(xiàn)在,當(dāng)你在一個(gè)瀏覽器中運(yùn)行http://localhost/CSCSdotNET/main.aspx時(shí),首先加載了default.ascx頁(yè)面,這是由于main.aspx的Page Load事件的緣故。要導(dǎo)航到Login頁(yè)面,你只需將一個(gè)p查詢字符串參數(shù)添加到請(qǐng)求——在這個(gè)例子中,運(yùn)用URL http://localhost/CSCSdotNET/main.aspx?p=01-AccountLogon?,F(xiàn)在顯示的就是整個(gè)main.aspx頁(yè)面,以及你在圖1中看到的動(dòng)態(tài)加載的01-AccountLogon.ascs Web用戶控件。
【編輯推薦】
- 詳解ASP.NET的四種狀態(tài)
- ASP.NET十個(gè)有效性能優(yōu)化的方法
- MVC下ASP.NET的表單驗(yàn)證實(shí)現(xiàn)
網(wǎng)站題目:在ASP.NET中使用PlaceHolder控件
轉(zhuǎn)載來(lái)于:http://m.5511xx.com/article/dpojijg.html


咨詢
建站咨詢
