溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

ASP.NET1.1如何實(shí)現(xiàn)仿2.0的MasterPage功能

發(fā)布時(shí)間:2021-10-28 14:10:04 來源:億速云 閱讀:138 作者:柒染 欄目:編程語言

這篇文章將為大家詳細(xì)講解有關(guān)ASP.NET1.1如何實(shí)現(xiàn)仿2.0的MasterPage功能,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

在asp.net 2.0中,提供了一個(gè)masterpage的功能,它可以讓我們很方便的完成頁面的整體結(jié)構(gòu)相同的網(wǎng)站,而且后期修改界面的時(shí)候只要修改一下masterpage即可,無需一個(gè)個(gè)界面進(jìn)行修改,這樣就大大的方便了開發(fā)人員.其實(shí)類似這種技術(shù)在asp.net1.1中也可以實(shí)現(xiàn).

思路分析

對(duì)于可以用mastespanpage的網(wǎng)站來說,它的頁面結(jié)構(gòu)大部份是一至的,比如頂部、底部都是一樣的,只不過左右側(cè)顯示的內(nèi)容不同。這個(gè)時(shí)候,你不妨把左右兩側(cè)的內(nèi)容也分別放在用戶控件中,然后根據(jù)當(dāng)前的訪問地址來動(dòng)態(tài)加載用戶控件,這樣到時(shí)候只要修改動(dòng)態(tài)加載的用戶控件的內(nèi)容,或是masterpage的框架,即可實(shí)現(xiàn)修理網(wǎng)站的目的。

實(shí)現(xiàn)過程

首先取得當(dāng)前訪問的文件地址,代碼如下:

//取得當(dāng)前訪問的路徑  sspaning sspanrequesturl = request.url.absolutepath.tosspaning();  //取得當(dāng)前訪問的文件名,并轉(zhuǎn)換成小寫  sspaning sspannowviewfile = sspanrequesturl.subsspaning((sspanrequesturl.lastindexof(@"/") + 1)).trim().tolower();

然后點(diǎn)擊“添加?添加web用戶控件”新建三個(gè)用戶控件,分別命名為masterpage.ascx、head.ascx和foot.ascx,在masterpage.ascx中添加一個(gè)三行兩列的表格,然后將head.ascx和foot.ascx控件拖到masterpage.ascx中,同時(shí)在左右兩側(cè)均添加一個(gè)placeholder控件,分別命名為hldleftconspanol和hldrightconspanol,完成后效果如下:

head.ascx hldleftconspanol hldrightconspanol foot.ascx

此時(shí)只要將masterpage.ascx拖到具體的頁面中,比如index.aspx,運(yùn)行后就會(huì)顯示頂部、底部的內(nèi)容。接下來要根據(jù)當(dāng)前訪問的文件地址,確定動(dòng)態(tài)加載哪些用戶控件到左右兩側(cè)位置,這部份操作在masterpage.ascx.cs中完成。代碼如下:

//ASP.NET1.1switch(sspannowviewfile)  {  //如果當(dāng)前訪問的是首頁  case "index.aspx":   //創(chuàng)建用戶控件類的對(duì)象,類名與用戶控件的名稱是相同的   conspanol_index_indexrightconspanol indexrightconspanol;  //加載用戶控件  indexrightconspanol = (conspanol_index_indexrightconspanol)page.loadconspanol("conspanol_index_indexrightconspanol.ascx");  //在右側(cè)的placeholder控件中顯示用戶控件   plhrightconspanol.conspanols.add(indexrightconspanol);  break;  //加載會(huì)員注冊(cè)部份  case "register.aspx":   conspanol_login_register register;  register = (conspanol_login_register)page.loadconspanol("conspanol_login_register.ascx");  plhrightconspanol.conspanols.add(register);  break;  default:   indexrightconspanol = (conspanol_index_indexrightconspanol)page.loadconspanol("conspanol_index_indexrightconspanol.ascx");  plhrightconspanol.conspanols.add(indexrightconspanol);  break;  }

添加了以上代碼后,如果訪問的頁面是index.aspx,在index.aspx頁右側(cè),就會(huì)加載conspanol_index_indexrightconspanol.ascx控件的內(nèi)容,如果訪問的是register.aspx頁,右側(cè)就會(huì)加載conspanol_login_register.ascx控件的內(nèi)容.

這樣就使得asp.net1.1實(shí)現(xiàn)了masterpage的功能.

關(guān)于ASP.NET1.1如何實(shí)現(xiàn)仿2.0的MasterPage功能就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI