由于网站的主要频道页和列表页的头部和底部都是一样的,如果将每个页面放在单独的页面中,当头部和底部需要更改时维护量太大。于是想把头部和底部做成母版页,频道页和列表页的具体内容放到内容页中。这样当头和底需要改动时,只要修改一下母版页就可以了。

好处有了,问题也接着来了。原来在频道页和列表页中有其各自的css引入和一些javascript函数,当使用母版页时,放在内容页中这些css样式和 javascript函数怎么处理呢?因为大家知道,使用母版页的内容页是不能包含<head></head>标记的,而css 和javascript函数的声明是要放到<head></head>中间的,这些css样式和javascript函数如何处 理呢?上网查了一下,大致有三种解决方案:方案一:把所有的css样式和javascript函数放到母版页的<head></head>中, 我觉得这样做的弊端就是导致母版页的<head></head>区特别臃肿,同时如果原来两个频道页中包含同名的css声明或 javascript函数,但却是不同样式或执行不同操作,怎么办呢?所以这第一种方案很快被我否定了。方案二是在内容页的PageLoad事件中通过代 码来指定本内容页的css文件。具体代码如下:

static public class ControlHelper
{
    static public void AddStyleSheet(Page page, string cssPath)
     {
         HtmlLink link = new HtmlLink();
         link.Href = cssPath;
         link.Attributes["rel"] = "stylesheet";
         link.Attributes["type"] = "text/css";
         page.Header.Controls.Add(link);
     }
}

这样,在具体页面,我们就可以通过如下代码添加 CSS 引用:

protected void Page_Load(object sender, EventArgs e)
{
     ControlHelper.AddStyleSheet(this.Page, "css/projectPage.css");    
}

这种解决方案的好处时可以在程序运行时动态更改所需的css文件,但是对javascript函数处理起来该怎么做呢?再说有必要把本该加在html代码中的css和javascript通过cs代码来加入吗?因此,这种解决方案也很快被我否定了。剩下的第三种解决方案就是在母版页的<head></head>中添加一个内容控件,然后在内容页中在对应的内容控件中写css和javascript代码。听起来这个这个解决方案应该是最方便,最适宜的解决方法。可是当我把ContentPlaceHolder控件拖放到<head></head中间时,vs2005却报了下面的错误:

白天的时候,看到这我就以为这种方法行不通了,差点就放弃了。晚上回家想找找更好的解决方案,可所有的文章基本上都是说的前两种,对第三种解决方案有人说报错,不行。看来碰到这个提示后放弃的人还真不少。我没理这个错误,直接转到内容页,,在内容页中插入以下代码:

看了一下,内容页中没有报错,看来有戏。可转到内容页的设计视图一看,出现了如下界面:

心凉了一下,因为没看到我上面应用的css样式的效果,我的css文件的代码如下:
#content
{
     text-align:center;
     width:200px;
     height:100px;
    
     color:#FF0000;
     font-size:12px;
}
也就是让id为content的div宽度200px,高度100px,文字居中,背景颜色为为绿色,字体为红色,12px。不甘心的我按下了F5调试键,令人惊喜的一个画面出现了:
这说明css应用成功了,同时也看到了那个测试可爱的hello world对话框alert了出来。成功了!

总结一下,其实很多人开始的想法和我一样,想如何用最简单的方法实现在内容页中使用css和 javascript的功能。他们中的很多人可能也找到我找到的那篇文章,但是当碰到我的那个母版页中的错误提示后就放弃了,也许有人坚持到了第二步,可 是在设计视图中没看到css的应用效果后可能也放弃了。其实只要在坚持一下就成功了!余世维说的好“比别人多想一点,你就能成功!”,确实很有道理啊

使用母版页时内容页如何使用css和javascript相关推荐

  1. 内容页嵌套母版页时,内容页如何调用css和javascript

    当在做项目时,通常我们会大量的使用母版页,使用母版页的好处显而易见,但通常在内容页中嵌套母版页时,我们还要在内容页中调用css样式和javascript函数,好处有了,问题也来了.有两种解决方法,第一 ...

  2. ASP母版页与内容页不同目录 链接问题

    由于母版页给网站的开发带来了很多的便利,但是同时也存在一个非常大的缺陷,就是母版页与内容页在不同目录下时,会出现应用js,css,图片等失效的问题,通过前面两篇文章基本解决了js.css.图片的问题, ...

  3. php 母版页,.NET_ASP.NET 2.0 中的创建母版页,  虽然母版页和内容页功能 - phpStudy...

    ASP.NET 2.0 中的创建母版页 虽然母版页和内容页功能强大,但是其创建和应用过程并不复杂.本节和下一节将以创建如图1所示示例为例,向读者详细介绍,使用Visual Stuido 2005创建母 ...

  4. 母版页和内容页的使用

    虽然母版页和内容页功能强大,但是其创建和应用过程并不复杂.本节和下一节将以创建如图 1 所示示例为例,向读者详细介绍,使用 Visual Stuido 2005 创建母版页和内容页的方法以及相关知识. ...

  5. ASP.NET母版页和内容页之间如何互相传值?

    我们在asp.net中创建一个完整的母版页之后,接下来必然要创建内容页.从用户访问的角度来讲,内容页与最终结果页的访问路径相同,这好像表明二者是同一文件,实际不然.结果页是一个虚拟的页面,没有实际代码 ...

  6. asp.net C#母版页和内容页事件排版加载顺序生命周期

    asp.net C#母版页和内容页事件排版加载顺序生命周期 关于ASP页面Page_Load发生在事件之前而导致的问题已经喜闻乐见,对于问题的解释也很全面,但是如何解决问题则较少有人说明,我就再 简单 ...

  7. ASP.NET:母版页与内容页

    ASP.NET:验证控件 ASP.NET:母版页与内容页 ASP.NET:主题中的皮肤和样式表 一.使用多种方式为内容页加载母版页 默认情况下是给单个内容页指定一个母版页加载,当多个内容页需加载到同一 ...

  8. 引用asp.net母版页后,母版页和内容页的页面事件执行顺序

    如下,经测试得到的执行步骤: 第01步.内容页的 Page_PreInit 第02步.母版页的 Page_Init 第03步.内容页的 Page_Init 第04步.内容页的 Page_InitCom ...

  9. Asp.Net母版页和内容页运行机制

    Asp.Net母版页和内容页运行机制 来自森大科技官方博客  http://www.cnsendblog.com/index.php/?p=96 从上面的讲解中可以看出,单独的母版页是不能被用户所访问 ...

最新文章

  1. leetcode--最长连续递增序列--python
  2. iOS -- 十进制、十六进制字符串,byte,data等之间的转换
  3. Mathematica图片局部变色
  4. oracle pdb 表空间,Oracle 12c CDB 和 PDB 表空间管理和配置 说明
  5. 搜索研发工程师需要掌握的一些技能
  6. 阿里云释放数据能力 开启大数据元年
  7. 没有Path的Binding
  8. python 安卓库_Android高级面试题资料(持续更新)
  9. 优秀的音频EQ均衡器音效源码
  10. Matlab_插值与抽取
  11. 2014九月十月百度,迅雷,华为,阿里巴巴,最新校招笔试面试题
  12. [技术分享]VMware Esxi 6.7主机配置备份和恢复(SSH、PowerCLI方法)
  13. 对于一颗给定的二叉树,输出所有从根节点到叶节点的路径
  14. 大鹏教育视频下载(手动操作)
  15. 烟气分析仪行业调研报告 - 市场现状分析与发展前景预测
  16. 信标链:以太坊2.0的新起点
  17. “慢落地”下的AI+教育,得打技术牌还是内容牌?
  18. 【Linux】ln -sf软连接
  19. 安装rabbitmq图文详情记录
  20. 滚动条响应鼠标滑轮事件实现上下滚动的js代码

热门文章

  1. Ghost后只有一个C盘解决方法(转)
  2. 解析 http 请求 header 错误_详解http报文(2)-web容器是如何解析http报文的
  3. Windows核心编程 第十七章 -内存映射文件(下)
  4. hdu1530 最大团简单题目
  5. POJ 1386 欧拉路的判定
  6. hdu 1044 BFS(压缩图)+DFS
  7. 【数字信号处理】傅里叶变换性质 ( 序列傅里叶变换共轭对称性质 | 序列实偶 傅里叶变换 实偶 | 序列实奇 傅里叶变换 虚奇 | 证明 “ 序列实奇 傅里叶变换 虚奇 “ )
  8. 【Android 逆向】使用 Python 解析 ELF 文件 ( Capstone 反汇编 ELF 文件中的机器码数据 | 创建反汇编解析器实例对象 | 设置汇编解析器显示细节 )
  9. 【Android 逆向】x86 汇编 ( align | db | dw | dd | nop | 伪指令 )
  10. 【Flutter】Flutter 拍照示例 ( 拍照并获取照片源码示例 | image_picker: ^0.5.2 版本 )