第6 页面外观设计与布局.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6 页面外观设计与布局

6.2.2 主题中的外观文件 外观文件专门用于定义服务器控件的外观。在一个主题中可以包含一个或多个外观文件,其扩展名为.skin。 【例6-5】演示外观文件的定义方法。 参见示例\第06章\ThemeDemo\Theme1\Skin1.skin 6.2.3 主题中的CSS样式文件 主题中也可以添加CSS样式文件来控制页面中的HTML元素和Web服务器控件的外观,主题中的CSS样式将被应用到所有应用了主题的页面上。 【例6-6】演示如何在主题中添加样式文件。 参见示例\第06章\ThemeDemo\Theme1\Stylesheet1.css 6.2.4 主题的动态应用 在ASP.NET中可以让用户动态地选择主题,以达到换肤的效果。 对于一个Web页面来说,只需要在PreInit事件中动态地指定Theme属性即可,示例代码如下: protected void Page_PreInit(object sender, EventArgs e) { Theme= Theme1; } 这种方式适合于为单一页面动态应用主题,如果想要在整个网站范围内动态应用主题可以通过修改web.config文件来实现。 【例6-7】演示如何动态应用主题实现换肤功能。 参见示例\第06章\ThemeDemo\6-7.aspx 6.3 母版页 创建母版页 创建内容页 母版页的工作原理 母版页和内容页中的事件 从内容页访问母版页的内容 母版页的嵌套 6.3.1 创建母版页 母版页的主要特点是:为开发人员提供了在已有页面上进行统一布局的功能。 这样做的好处是:开发人员不必花时间考虑如何将统一的布局嵌套到各个页面。在没有母版页技术的时候,这项工作需要编程来实现,比较复杂。 在母版页中可以包括静态文本、HTML元素和ASP.NET服务器控件等各种内容。通常情况下,母版页中包括各个页面的通用部分,如导航条、页眉、页脚以及版权信息等 右图所示为微软公司MSDN网站的一张页面,圈起的部分即为母版页内容,当用户从左边的目录树选择相应条目进行浏览时,会发现页面框架并未发生变化。 【例6-8】设计母版页效果如图所示。 参见示例\第06章\MasterDemo\MasterPage.master 6.3.2 创建内容页 应用母版页的.aspx页面称为内容页,它实际上是通过内容占位符控件与母版页建立起关系。 母版页中定义的占位符,最终需要由内容页来代替,内容页中的内容在运行时将自动绑定到特定的母版页中。 在内容页中,母版页的ContentPlaceHolder控件预留的可编辑区会被自动替换为Content控件,开发人员只需要在Content控件区域中填充内容即可,在母版页中定义的其它标记将自动出现在使用了该母版页的.aspx页面中。 【例6-9】设计2个引用了例6-8中MasterPage.master母版页的内容页Default.aspx和Study_Resource.aspx,运行效果如图所示。 参见示例\第06章\MasterDemo\Default.aspx和Study_Resource.aspx 6.3.3 母版页的工作原理 母版页的工作原理如下: (1)用户在浏览器中通过内容页的URL来请求访问Web页面。 (2)获取该页后,读取页面的Page指令。如果该指令引用一个母版页,则读取相应的母版页。如果是第一次请求这两个页,则两个页都要进行编译。 (3)将内容页中各个Content控件的内容合并到母版页中相应的ContentPlaceHolder控件中,生成结果页。 (4)用户浏览器中呈现服务器返回的由母版页与内容页合并的结果页。 步骤(2)、(3)、(4)对用户来说是透明的,由服务器自动完成,用户只需提供内容页的URL即可。下图对上述过程进行了阐释。 6.3.4 母版页和内容页中的事件 母版页和内容页都可以包含控件的事件处理程序。 对于控件而言,事件是在本地处理的,即内容页中的控件在内容页中触发事件,母版页中的控件在母版页中触发事件。 也就是说,控件事件不会从内容页发送到母版页,同样,也不能在内容中处理来自母版页控件的事件。 母版页与内容页合并后事件的发生顺序如下: 母版页控件Init事件。 内容页控件Init事件。 母版页Init事件。 内容页Init事件。 内容页Load事件。 母版页Load事件。 内容控件Load事件。 内容页PreRender事件。 母版页PreRender事件。 母版页控件PreRender事件。 内容控件PreRender事件。 6.3.5 从内容页访问母版页的内容 有时需要在内容页中访问母版页的内容,可以使用弱类型引用和强类型引用两种类型。 弱类型引用(调用FindControl方法进行访问) 显式地给

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档