![ASP.NET动态网站设计任务教程](https://wfqqreader-1252317822.image.myqcloud.com/cover/757/31729757/b_31729757.jpg)
任务1-5 使用frameset实现页面布局
使用框架集不仅可以布局页面,同时还可以在一个页面内打开另一个页面。
需求:
按图1-15所示的样式进行页面布局,将整个显示区域划分成三个区域,即三个框架,其关系为整个页分为上下结构的框架集,下面结构又是由一个左右结构的框架集。上框架区域高度为50px,不可改变,剩余空间给下框架集,下框架集内包含左框架和右框架,左框架区域的宽度为199px,可以改变,剩余空间给右框架,左右框架之间留10px的间距。
分析:
由于右框架区域是主要显示区域,显示内容的数量不定,因此,这部分应带有滚动条,而其他框架不带滚动条。
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00022001.jpg?sign=1738928505-Cfeo5VXD3lAT93CCQJRnjBs8J7TZ2xzt-0-9c73e029b06f748d5ca4d276e8adb91e)
图1-15 使用frameset实现页面布局运行界面
实现:
为测试框架集,建立五个文件。
1.“框架集.aspx”文件,文件代码见清单1-10
清单1-10含有三个框架的框架集文件
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00022002.jpg?sign=1738928505-dHyEL8CcL4TVJvtA5H0fHv0CsxRV1hZm-0-0effe0efb01b9893bca05a4f6715cad6)
框架集垂直分割用rows属性,水平分割用cols属性,如rows="50,*"和cols="199,*"。
框架一般是要给出name属性,特别是主显示区域的框架(本任务中为右框架)必须给出name属性,该属性是为超链接页面提供目标地址target。
框架的frameborder属性表示框架是否有边框,默认无边框。
框架的scrolling属性表示框架是否有滚动条,默认无滚动条。
框架的noresize属性表示框架是否固定区域的大小,默认不固定。
为了确保汉字的正常显示,框架文件的head标签内,添加下列<meta>标签的属性设置:<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />。
其他框架的其他属性就不再多介绍,读者可以查找相关资料。
2.建立“上框架.htm”文件
本任务对这部分要求很简单,只显示信息。代码见清单1-11。
清单1-11 显示在上框架的页面文件“上框架.htm”
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00022003.jpg?sign=1738928505-yDACbMEKKcIVwSy8OtvY41d0M7Oupzkg-0-cb1fdc3954362db83dd4fc64d494b5c3)
3.建立“左框架.htm”文件
本任务对这部分只要求能建立两个超链接,实现在右框架中显示相应内容页面即可,主要部分见清单1-12。
清单1-12 左框架页面文件“左框架.htm”
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00023002.jpg?sign=1738928505-LuFcc2upAQEKUInK7QgFwkSpB8X7RELY-0-cc90ac57db5d06e29904c7d603d93eb8)
4.建立“右框架1.htm”文件,右框架1.htm的主要内容见清单1-13
清单1-13 显示在右框架的页面文件“右框架1.htm”
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00023003.jpg?sign=1738928505-qK3116r2GDCQm96hdodBv5o71HwY1WKs-0-9e873e0b2258160e078325a0c43fd9b7)
这里使用的pre标签表示按文本的原来格式显示内容,如空格照原样显示。
5.建立“右框架2.htm”文件,右框架2.htm的主要内容见清单1-14
清单1-14 显示在右框架的页面文件“右框架2.htm”
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00023004.jpg?sign=1738928505-o9ycNN5UlPThfkTNSyWv9Sv7mAIEDLGy-0-c8c0cf79b9f40a68dc677edafce4eb2f)
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00024001.jpg?sign=1738928505-J6isbBGofMzxknOzqyprlQpKegZBHdid-0-29e74e1b870f6e0409ec7d8ec1e6e109)
说明
ul标签表示一个列表集合,li标签表示列表集合中的一个列表项,li标签只能在ul标签内。
pre标签表示按文本的原来格式显示内容(包括空格),但遇到标签仍不能做到照原样显示。解决方法是将小于号“<”替换成“<;”,大于号“>”替换成“>;”即可,最终显示结果如图1-16所示。
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00024002.jpg?sign=1738928505-QeSoHl87A35ItcGveAzoUh1Mu0G9vvDT-0-374921ddef43e12330b7365653f58420)
图1-16 框架集页面
框架集文件不是页面,不能有body,更不能有form。这有时也带来了设计上的不便。取而代之的是iframe,它是VS 2013.NET中许可的标签,将在任务1-7中介绍。
如果需要使页面两侧分别保留50px空隙,可以利用frameset嵌套,在原frameset基础上外套一个更大的frameset,见清单1-15。
清单1-15 用框架预留左右两侧间距
![](https://epubservercos.yuewen.com/09F237/17180253904508906/epubprivate/OEBPS/Images/img00025001.jpg?sign=1738928505-mHzchstQMLh409vpODzpnzV4Q45gPQJR-0-7412ff047622bc2fe3daff300d729d74)