母版页:MasterPage
母版页不是独立的,它是与用户控件一起来使页面结构更加优化。
从粗到细,逐步细化各级页面的模板结构。到页面中只需完善其不同之处即可,相同之处都放在各级母版页中实现了。
Web用户控件则细到粗.由细节到整体.
思路:把母版页套进页面里来,不是拿着页面的东西放到母版页中去。
如何套用模板页:
1:创建模板页:
如图:右键选择添加新项选择母版页,改名.
母版页与普通也面相同都含有HTML标签头,内容等.所不同的是母版页不能作为一个独立的页面运行,如果运行只显示里面的内容
而实际的母版页的 设计界面 为
中间横条预留的部分就是嵌套该母版页的页面所显示的内容
如上图,里面出现了两个Content内容,其中Content2的文字是母版页给所需嵌套母版的页面预留的内容空间,Content1则是在母版页<head>标签中的给后面预留的标题.并不会在母版页显示.但是一旦生成网页则会在<body>自动生成.建议不要再母版页的<head>中的ContentPlaceHolder中填写内容
ContentPlaceHoder - 位置预留标记。
Content - 各级母版页(除了顶级)实际内容存放位置,它与上一级母版页的ContentPlaceHoder是一一对应的.即所给的ID要一致否则
最后页面生成的时候,会把各级页面和母版一起编译生成一个用户界面。
两大难点:
this.Master - 当前页面的母版页
一、交换信息--同Web用户控件详情: http://www.cnblogs.com/liujiangping/p/4759051.html
交换信息同样是在相邻层之间进行,除用Session之外其他方法都需要一层一层写交互代码.
(一)从页面操作母版页
1.FindControl()
2.事先在母版页中写好属性
(二)从母版页操作页面
1.session
2.代理
二、路径--
1.控件路径:使用带有runat=server的标记或控件。
2.背景路径:样式表的背景图片。——外部样式表。
3.资源路径:母版页中的外部样式表会自动转化路径;脚本文件不会自动转路径需要使用<%=方法名()%> ResoveClientUrl()
4.C#代码路径 Response.Redirect("~/Admin/Default.aspx")