MasterPage 控制項應用

2021-04-14 16:01:30 字數 3875 閱讀 7331

masterpage其實是一種模板,它可以讓你快速的建立相同頁面布局而內部不同的網頁,如果乙個**有多個masterpage,那麼新建aspx檔案的時候就可以選擇需要實現頁面布局的masterpage。另外,在你沒有使用masterpage之前,如果n個相同的頁面布局需要改動成另外乙個樣式,那麼你就要做很多無聊而又不得不做的工作,對n個頁面進行一一更改,如果使用了masterpage,你只要改動乙個頁面也就是masterpage檔案就可以了。還有,你是否發現你要要部署的web程式越來越大,使用masterpage在一定程度上會減小web程式的大小,因為所有的重複的html標記都只有乙個版本。

首先,我們需要開啟vs2005,建立乙個website(這裡要注意,是建立乙個website而不是建立乙個project)

然後,給剛建立的website新增乙個名字叫masterpage.master的masterpage,這個時候我們會看到該檔案有如下內容:

看起來和乙個普通的aspx頁面差不多,但是最上面的宣告<%@ master language="c#" autoeventwireup="true" codefile="masterpage.master.cs" inherits="masterpage" %>告訴我們,這個是乙個模板頁,同時我們可以看到在

之間包含了乙個asp的控制項contentplaceholder,這個叫內容佔位符,他的作用就是當你用或者進行布局後,用這個控制項去「霸佔」乙個地方,而這個地方的主人,不是contentplaceholder,而是後面將提到的content。

下面用做下示例

這樣乙個簡單的模板頁就建立好了,在這個模板頁上一共有4部分,乙個是頂部的topcontent,乙個是中間偏左的leftcontent,乙個是中間偏右的rightcontent,最後個就是底部的footcontent,4個部分均有乙個contentplaceholder。

有了乙個建立好的masterpage後,我們就可以進行下面的工作了,現在我們建立乙個aspx頁面,名字叫default2.aspx,注意建立的時候一定要勾上select master page,建立的時候會有乙個選擇模板的介面,由於只建立了乙個模板,所以直接選擇masterpage.master就行了,如果你建立了多個模板頁的話,就需要在這裡進行選擇你當前頁面所需要載入的模板頁。

現在,我們有了乙個基於模板的aspx頁面default2.aspx,**如下:

<%@ page language="c#" masterpagefile="~/masterpage.master" autoeventwireup="true" codefile="default2.aspx.cs" inherits="default2" title="untitled page" %>

很明顯,他和我們以往建立的aspx的頁面很不一樣,他沒有html的相關宣告,而且在頁面的頭部宣告<%@ page language="c#" masterpagefile="~/masterpage.master" autoeventwireup="true" codefile="default2.aspx.cs" inherits="default2" title="untitled page" %>中,比普通的aspx頁面多了masterpagefile="~/masterpage.master"。在剛才masterpage.master中的設定,我們定義了四個contentplaceholder,id分別是topcontent,leftcontent,rightcontent,footcontent,在default2.aspx頁面下的content控制項裡,有乙個屬性就是contentplaceholderid,該欄位表明該content控制項中的內容代替id指向的contentplaceholder佔位控制項,這就是真的「霸主」了。這樣一來,頁面布局就使用masterpage.master中的,而內容就使用default2.aspx中content控制項下的,因此你在default2.aspx 中找不到html頁面的基本格式標記,如

contentplaceholder 為模版部分的占用位置

//模版頁後台,繼承自系統 system.web.ui.masterpage

using system;

using system.collections.generic;

using system.text;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web;

namespace duwcontrols

... }

public contentplaceholder ctop ... }

public contentplaceholder cleft ... }

public contentplaceholder cmain ... }

public contentplaceholder cright ... }

public contentplaceholder cfoot ... }

public contentplaceholder scriptman ... }

protected override void oninit(eventargs e)

...

} }

else if (ctrl is system.web.ui.htmlcontrols.htmlform)//模版form主體部分

...

} }

} }

base.oninit(e);

} }

} //頁面.cs運用部分

using system;

using system.collections.generic;

using system.text;

using system.web.ui;

using system.web.ui.webcontrols;

using duwcompontents;

using system.text.regularexpressions;

using system.io;

using system.web;

namespace duwcontrols

...

set ...

} public int boardid ... set ... }

#endregion

事件#region 事件

protected override void onpreinit(eventargs e)

...

} }

//aspx頁面部分

<%@ page language="c#" masterpagefile="~/themes/default/default.master" validaterequest="false"

inherits="duwcontrols.duwpage" skintype="default" %>

如何使用 MasterPage

如何使用 masterpage 1.建立 masterpage,字尾名 master,如 x.master.其中用 定義空位。如 2.建立內容頁面。在 newitem 對話方塊裡選擇 select master page 選擇上一步建立的 masterpage.產生的 裡,masterpagefil...

如何使用 MasterPage

1.建立 masterpage,字尾名 master,如 x.master.其中用 定義空位。如 2.建立內容頁面。在 newitem 對話方塊裡選擇 select master page 選擇上一步建立的 masterpage.產生的 裡,masterpagefile 屬性指定了 masterpa...

VB treeview控制項應用

相信很多程式設計愛好者都使用過網路螞蟻或 foxmail 軟體,其軟體執行主介面的左側有一顯示等級結構的樹狀外觀控制項,不僅美觀大方,而且非常方便使用。其實,在 vb 中利用 treeview 控制項很容易就能編寫出同樣效果的程式。首先在 vb 中建立乙個新工程,單擊 工程 部件 在控制項列表中選中...