ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04

上传人:w****i 文档编号:92479992 上传时间:2019-07-10 格式:PPT 页数:86 大小:6.14MB
返回 下载 相关 举报
ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04_第1页
第1页 / 共86页
ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04_第2页
第2页 / 共86页
ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04_第3页
第3页 / 共86页
ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04_第4页
第4页 / 共86页
ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04_第5页
第5页 / 共86页
点击查看更多>>
资源描述

《ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04》由会员分享,可在线阅读,更多相关《ASP.NET Web程序设计 教学课件 ppt 作者 祁长兴chapter04(86页珍藏版)》请在金锄头文库上搜索。

1、ASP.NET Web程序设计,4,母版与主题,第,章,本章内容,4.1 母版页,4.2 通过程序设置母版页,4.3 从内容页访问母版页的内容,4.4 在内容页响应母版页控件事件,4.5 主题,4.6 案例,4.1 母版页,在设计网站时经常会遇到多个网页部分内容相同的情况,例如都具有外观和内容都相同的标题栏、页脚栏、导航栏等,如果每个网页都设计一次显然是重复劳动且非常繁琐,此时使用母版页可以很好的解决这个问题。 4.1.1 概述 4.1.2 创建母版页 4.1.3 母版页的设置,母版页是指可以再同一站点的多个页面中共享使用的特殊网页。 母版页的使用与普通的.aspx页面类似,可以在其中放置文件

2、或者图形、任何的HTML控件和Web服务器控件,后台代码等。不同的是: 1)母版页将普通页面的Page指令替换成了Master指令; 2)母版页的扩展名为.master,因此不能被浏览器直接查看; 3)母版页中包含若干个ContentPlaceHolder控件,是预留出来的显示内容页面的区域; 4)母版页必须在被内容页引用后才能进行显示。,4.1.1 母版页的概念,当用户运行一个引用母版页的内容页时,服务器是按照如下步骤将页面发送给用户的。 1)用户通过输入内容页的URL来请求某页面。 2)服务器读取该页面中的Page指令,如果该指令引用了一个母版页,则读取该母版页。如果这是第一次请求这两个页

3、,则两个页都要进行编译。 3)服务器将各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中。 4)在浏览器中呈现合并后的完整的页面。,4.1.1 母版页的概念,4.1.2 创建母版页与内容页,母版页不能单独在浏览器中预览其显示效果,必须通过引用了该母版的内容页进行查看。 内容页所有内容必须包含在Content控件内,可以认为内容页是母版页中可编辑曲的填充内容。,4.1.2 创建母版页与内容页,1. 创建母版页,4.1.2 创建母版页与内容页,添加完毕后,系统将自动切换到母版页的源视图,4.1.2 创建母版页与内容页,2. 创建内容页 方法有两种: 1)在V

4、isualStudio2012的解决方案资源管理器中,右键单击站点的名称,在弹出的快捷菜单中执行“添加”“添加新项”命令,在弹出的对话框中选择“Web窗体”模板,并选择对话框右下角的“选择母版页”复选框。,4.1.2 创建母版页与内容页,2. 创建内容页 方法有两种:2)在VisualStudio2012的解决方案资源管理器中,右键单击希望引用的母版页的名称,在弹出的快捷菜单中执行“添加内容页”命令就可以在网站中添加一个引用该母版页的空白的内容页。,4.1.2 创建母版页与内容页,例4-1,母版页的应用,1)启动VisualStudio2012,创建一个新的网 站。 2)在该网站的解决方案资源

5、管理器中右键单 击站点名称,在弹出的快捷菜单中选在“添加” “添加新项”命令,在弹出的对话框中选择“母 版页”选项,采用默认名称“MasterPage”,单 击“添加”按钮。,4.1.2 创建母版页与内容页,例4-1,母版页的应用,3)切换到母版页“MasterPage.master”的设计 视图,在页面中添加一个2行2列的表格,第一 行合并单元格,放入一个Image控件,第二行右 边存放ID为ContentPlaceHolder1的 ContentPlaceHolder控件。,4.1.2 创建母版页与内容页,例4-1,母版页的应用,4)在站点的根目录下新建一个名为“Image”的 文件夹,在

6、此文件夹中添加一个名为1.jpg的图 片。将母版页中Image控件的ImageUrl属性设 置为“/Image/1.jpg”。 5)从工具箱中拖拽1个Calendar控件到表格的 第二行左列中。,4.1.2 创建母版页与内容页,例4-1,母版页的应用,6)在解决方案资源管理器中,右键单击 “MasterPage.master”,选择“添加内容页”命 令,添加一个名为“Default.aspx的内容页。 7)切换到内容页的设计视图,在 ContentPlaceHolder控件中输入一些文字。,4.1.2 创建母版页与内容页,例4-1,母版页使用示例效果图,4.1.3 母版页的配置,可以在以下3种

7、级别上将内容页附加到母版页: 页面指令级:可以在每个内容页中使用页面指令来将内容页绑定到一个母版页。 应用程序级 :在应用程序的配置文件web.config的pages元素中进行设置,可以指定应用程序中的所有ASP.NET页面都自动绑定到一个母版页 。 文件夹级 :此方式类似于应用程序级的绑定,而且能够解决应用程序级不太灵活的缺点。,4.2 通过程序设置母版页,可以通过设置内容页的MasterPageFile属性来动态的加载母版页。其语法格式为: This.MasterPageFile = “/要加载的母版页的名称”; 需要强调的是因为母版页和内容页会在页处理的初始化阶段合并,所以必须在之前阶

8、段加载母版页。通常情况是在PreInit阶段动态的加载母版页。,4.2 通过程序设置母版页,例4-2,母版页设置的示例,通过程序设置母版页。假设网站包含两个页面分别为:Choose.aspx和ContentPage.aspx。在Choose.aspx页面有两个按钮,单击后能够跳转到ContentPage.aspx页面,同时为ContentPage.aspx页面选择不同的母版页。,1)启动VisualStudio2012,新建一个网站。 2)在解决方案资源管理器中,右键单击站点名称,在弹出的快捷菜单中选择 添加添加ASP.NET文件夹App_Code命令。 3)创建基母版页类。,4.2 通过程序

9、设置母版页,using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; public class BaseMaster : System.Web.UI.MasterPage public

10、virtual String MyTitle get return “这是基类母版页标题“; ,4)按照上节介绍的方法,在网站中创建两个母版页,名称分别为“MasterCyan”和“MasterOlive”。 5)切换到MasterCyan页,将其Master指令修改为:,4.2 通过程序设置母版页,6)在MasterCyan页面,添加一个层,设置层的背景颜色为海蓝色,并将ContentPlaceHolder1放置在层内。具体代码如下:,4.2 通过程序设置母版页,7)按照上述方法设置“MasterOlive”母版页。不同的是,在此母版页中将修改“MyTitle”属性,并且设置层的背景颜色为橄

11、榄色。 8)在站点中添加一个web窗体文件,名称为“ContentPage.aspx”,将其修改为一个内容页并在源视图中输入如下代码:,4.2 通过程序设置母版页, 咏梅 驿外断桥边,寂寞开无主。已是黄昏独自愁,更著风和雨。无意苦争春,一任群芳妒。零落成泥碾作尘,只有香如故。 ,9)切换到“ContentPage.aspx.cs”页面,在Page_PreInit事件中输入如下代码:,4.2 通过程序设置母版页,protected void Page_PreInit(Object sender, EventArgs e) this.MasterPageFile = “MasterCyan.mas

12、ter“; if(Request.QueryString“color“ = “olive“) this.MasterPageFile = “MasterOlive.master“; this.Title = Master.MyTitle; ,10)在网站中添加一个用于让用户进行选择的Web窗体,名称为“Choose.aspx”,切换到设计视图,添加两个按钮“Button1”和“Button2”并设置其“Text”属性为“橄榄色”和“海蓝色”。双击“Button1”按钮切换到“Choose.aspx.cs”页面,在两个按钮的单击事件中输入如下代码:,4.2 通过程序设置母版页,protected

13、 void Button1_Click(object sender, EventArgs e) Response.Redirect(“ContentPage.aspx?color=olive“); protected void Button2_Click(object sender, EventArgs e) Response.Redirect(“ContentPage.aspx?color=Cyan“); ,11)按“Ctrl+F5”运行。单击“橄榄色”按钮,页面跳转到引用了“MasterOlive”母版页的内容页,运行效果如图 。,4.2 通过程序设置母版页,12)返回到“Choose”页

14、面,单击“海蓝色”按钮,页面跳转到引用了“MasterCyan”母版页的内容页,运行效果如图 。,4.2 通过程序设置母版页,4.3 从内容页访问母版页的内容,在实际应用中,经常需要通过后台代码从内容页中访问母版页的属性、方法或控件。要解决这个问题一般有两种方法,即使用FindControl()方法和使用MasterType指令。 4.3.1 使用FindControl( )方法 4.3.2 使用MasterType指令,4.3.1 使用FindControl( )方法,从内容页访问母版页中的控件可以使用Master类中提供的FindControl()方法。其语法格式为:,Master.Fin

15、dControl(“被访问的控件的ID值”);,例4-3,使用FindControl( )方法的示例,4.3.1 使用FindControl( )方法,设母版页中包含一个Label控件,页面载入时显示“欢迎您,游客”。内容页中包含有两个文本框和一个“登录”按钮,文本框用来接收用户登录时输入的用户名和密码。用户在内容页登录成功后,母版页中Label控件的内容变为用户在登录时输入的用户名。,1)启动VisualStudio2012,创建新的网站。 2)在该网站中添加母版页MasterPage.master。 3)在母版页中进行页面设计,添加一个Label控件,并设置其ID属性值为“welcome”

16、。 4)切换到母版页的后台代码页面,在页面载入事件中输入如下代码:,protected void Page_Load(object sender, EventArgs e) welcome.Text = “欢迎您,游客“; ,4.3.1 使用FindControl( )方法,5)在解决方案资源管理器中右键单击母版页MasterPage.master,添加内容页。 6)系统自动切换到内容页,添加两个文本框(ID分别为“TextBox1”和“TextBox2”)和一个按钮控件(ID为“Button1”)及必要的文本,用于用户的登录。 。 7)切换到内容页的后台代码页面,在Button1_Click事件中输入如下的代码:,protected void Button1_Click(object sender, EventArgs e) Label name = (Label)Master.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号