实验五 ASP.NET 主题、母版页和站点导航
实验目的
1、 理解主题的概念,掌握主题的创建和引用
2、 掌握母版页的创建及使用方法,能够通过创建母版页来实现导
航页面的设计,掌握 SiteMapPath、Menu 和 TreeView 控件实现
网站导航的方法。
实验内容
一、在程序运行时动态变更页面主题。
1、在资源管理器中,添加 Red 和 Blue 两个主题文件夹,向各自的主题文件夹中添加同名的
主题文件 Red.skin 和 Blue.skin。
Red.skin 文件代码如下:
Italic="True"
Font-Names="宋体"
Font-Size="Medium"
ForeColor="#996600" />
Blue.skin 文件代码如下:
2、设计 Web 页面,向页面中添加一个 Panel 控件,向 Panel 控件中添加 HyperLink 控件
( HyperLink1 和 HyperLink2 ) , HyperLink1 的 NavigateUrl 属 性 值 为
Default3.aspx?NewTheme=Red , HyperLink2 的 NavigateUrl 属 性 值 为
Default3.aspx?NewTheme=Blue,Label 以及文本框,如图所示。
3、编写程序代码,切换到 Default.aspx 的源视图,在@Page 指令中添加对主题的引用:
<%@ Page Language="C#" …StylesheetTheme="" …%>
编写代码:
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = DateTime.Now.ToString();
}
protected void Page_PreInit()
{
this.Theme=Request.QueryString["NewTheme"];
4、根据以上步骤,在页面上添加一个”绿色”链接,同时编写外观文件Green.skin,使用户
在点击”绿色”链接时应用Green.skin文件中所定义的外观. 简述编写Green.skin文件的
技巧.
实验步骤:
1、新建一个 web 窗体,命名为 Default.aspx.在设计视图里对网站的页面进行布
局。向页面中添加一个 Panel 控件,添加三个 HyperLink 将其 Text 分别修改为红色、
蓝色、绿色,一个 Label,两个 TextBox 和两个 Button。在 Page_Load 事件中添加如
下代码,使 label 显示当前时间:
Label1.Text = DateTime.Now.ToString();
界面如图所示:
2、在解决方案资源管理器中,添加 Red、Blue 和 Green 三个主题文件夹,向各自的主题文
件夹中添加同名的主题文件 Red.skin、Blue.skin 和 Green.skin。
3、对 Red.skin、Blue.skin 直接添加如下代码:
4、返回 Default.aspx 页面,将红色和蓝色的 HyperLink 的 NavigateUrl 属性设置如下图所示:
5、在Default.aspx页面Default.aspx.cs中添加如下代码:
protected void Page_PreInit(object sender, EventArgs e)
{
}
this.Theme = Request.QueryString["NewTheme"];
6、对绿色主题的皮肤文件进行编写:
(1)在设计视图下把 panel、button、label 设置成所需的样式。源视图代码如下所示:
(2)在源视图里把相应的标记粘贴到皮肤文件里。把 ID、Height、WIdth、Text 等与外观
无关的属性去掉,保留与外观有关的属性以及 runat。在标记末尾添加结束标记。代码如下
所示:
7、返回 Default.aspx 页面,清除上一步为编写绿色皮肤文件对 panel、label 和 button 设置的
属性,并将红色和蓝色的 HyperLink 的 NavigateUrl 属性设置如下图所示:
实验结果如图所示:
实验心得:
如果页面需要直接应用某个皮肤文件,则需要在在@Page 指令中添加对主题的引用:
<%@ Page Language="C#" …StylesheetTheme="" …%>或<%@ Page
Language="C#" …Theme="" …%>,对于本题,是使用HyperLink进行不同风格主
题的切换,则无需在page指令里添加相关内容,只需要添加一个 Page_PreInit即可。
二、如图所示,在母版页上设置导航控件 TreeView 和 Menu。
实验步骤:
1、新建一个站点地图文件 Web.sitemap
2、。在当前页面定义主页,并新建所需的。aspx 页面,选择 Site.master 母版页。
代码如下所示:
3、为了使 TreeView 控价在每一个页面都显示,简便方法将它加在母版页上。在 Site.master
页面改变母版页的布局,为 header 和 main 添加一个同级的 div 添加代码如下所示:
4、打开 Site.css 文件,为 main 和 leftCol 类添加 float:left;属性
5、在 Site.master 页面设计视图,leftCol 的 div 中添加 TreeView 控件添加数据源
SiteMapDataSource1。
6、在 Menu 中选择数据源 SiteMapDataSource1,并把 StaticDisplayLevels 属性设置为 2。如
图所示:
实验结果如图所示:
火狐浏览器:
三、设母版页中包含有一个由文本框、下拉列表框、命令按钮组成的
搜索栏,内容页中包含一个标签控件。要求编写程序实现用户单击按