asp.net2.0中通过CS代码来动态的指定aspx页面中head中的信息
2007-08-02 16:01
465 查看
[align=left]在使用asp.net进行web开发的时候页面中的<head></head>中的信息可以通过,asp.net的cs文件动态指定,但是如果很多页面都这样处理的话,就和在aspx代码页面中添加没有什么区别了,这个时候我们我们创建一个基类BasePage(继承自Page类),让需要添加<head>中信息的页面继承自基类即可。 [/align]
[align=left]protected override void OnLoad(EventArgs e)
{
/*此处加入下面的动态增加的代码*/
base.OnLoad(e);
}[/align]
[align=left]下面就是动态增加的代码[/align]
[align=left]/*动态增加样式表*/[/align]
[align=left] HtmlLink link = newHtmlLink();[/align]
[align=left] link.Attributes.Add("type", "text/css");[/align]
[align=left] link.Attributes.Add("rel", "stylesheet");[/align]
[align=left] link.Attributes.Add("href", "~/main.css");[/align]
[align=left] this.Header.Controls.Add(link);[/align]
[align=left] [/align]
[align=left] /*动态增加样式*/[/align]
[align=left] Style style = newStyle();[/align]
[align=left] style.ForeColor = System.Drawing.Color.Navy;[/align]
[align=left] style.BackColor = System.Drawing.Color.LightGray;[/align]
[align=left] this.Header.StyleSheet.CreateStyleRule(style, null, "body");[/align]
[align=left] [/align]
[align=left] /*动态增加Meta*/[/align]
[align=left] HtmlMeta meta = newHtmlMeta();[/align]
[align=left] meta.Name = "keywords";[/align]
[align=left] meta.Content = "Your keywords here";[/align]
[align=left] this.Header.Controls.Add(meta);[/align]
[align=left] [/align]
[align=left] meta = newHtmlMeta();[/align]
[align=left] meta.Name = "company";[/align]
[align=left] meta.Content = "microsoft";[/align]
[align=left] this.Header.Controls.Add(meta);[/align]
[align=left] [/align]
[align=left] meta = newHtmlMeta();[/align]
[align=left] meta.Name = "date";[/align]
[align=left] meta.Content = DateTime.Now.ToString("yyyy-MM-dd");[/align]
[align=left] meta.Scheme = "YYYY-MM-DD";[/align]
[align=left] this.Header.Controls.Add(meta);[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] /*动态增加js文件*/[/align]
[align=left] HtmlGenericControl si = newHtmlGenericControl();[/align]
[align=left] si.TagName = "script";[/align]
[align=left] si.Attributes.Add("language", "javascript");[/align]
[align=left] si.Attributes.Add("type", "text/javascript");[/align]
[align=left] si.Attributes.Add("src", "status.js");//注意路径的写法[/align]
this.Page.Header.Controls.Add(si);
这样你如果在某一个继承自基类BasePage的页面查看源代码,可以发现和在每个页面的head中增加的信息一样!哈哈,这不是废话吗,不一样还搞它有个毛用啊!
调用js代码我调试了N长时间才弄出来,全部调试成功了,爽啊!本来周六上班就火,结果搞定一个问题,呵呵心情好多了啊!
测试环境:vs2005
自我感觉与测试环境没有什么关系的,估计只有js文件调用可能有点影响吧,因为原来写的时候<script>中很少写type属性,如果去掉type属性在vs2005中可能会出现验证性的错误,但是不影响效果和功能!
[align=left]protected override void OnLoad(EventArgs e)
{
/*此处加入下面的动态增加的代码*/
base.OnLoad(e);
}[/align]
[align=left]下面就是动态增加的代码[/align]
[align=left]/*动态增加样式表*/[/align]
[align=left] HtmlLink link = newHtmlLink();[/align]
[align=left] link.Attributes.Add("type", "text/css");[/align]
[align=left] link.Attributes.Add("rel", "stylesheet");[/align]
[align=left] link.Attributes.Add("href", "~/main.css");[/align]
[align=left] this.Header.Controls.Add(link);[/align]
[align=left] [/align]
[align=left] /*动态增加样式*/[/align]
[align=left] Style style = newStyle();[/align]
[align=left] style.ForeColor = System.Drawing.Color.Navy;[/align]
[align=left] style.BackColor = System.Drawing.Color.LightGray;[/align]
[align=left] this.Header.StyleSheet.CreateStyleRule(style, null, "body");[/align]
[align=left] [/align]
[align=left] /*动态增加Meta*/[/align]
[align=left] HtmlMeta meta = newHtmlMeta();[/align]
[align=left] meta.Name = "keywords";[/align]
[align=left] meta.Content = "Your keywords here";[/align]
[align=left] this.Header.Controls.Add(meta);[/align]
[align=left] [/align]
[align=left] meta = newHtmlMeta();[/align]
[align=left] meta.Name = "company";[/align]
[align=left] meta.Content = "microsoft";[/align]
[align=left] this.Header.Controls.Add(meta);[/align]
[align=left] [/align]
[align=left] meta = newHtmlMeta();[/align]
[align=left] meta.Name = "date";[/align]
[align=left] meta.Content = DateTime.Now.ToString("yyyy-MM-dd");[/align]
[align=left] meta.Scheme = "YYYY-MM-DD";[/align]
[align=left] this.Header.Controls.Add(meta);[/align]
[align=left] [/align]
[align=left] [/align]
[align=left] /*动态增加js文件*/[/align]
[align=left] HtmlGenericControl si = newHtmlGenericControl();[/align]
[align=left] si.TagName = "script";[/align]
[align=left] si.Attributes.Add("language", "javascript");[/align]
[align=left] si.Attributes.Add("type", "text/javascript");[/align]
[align=left] si.Attributes.Add("src", "status.js");//注意路径的写法[/align]
this.Page.Header.Controls.Add(si);
这样你如果在某一个继承自基类BasePage的页面查看源代码,可以发现和在每个页面的head中增加的信息一样!哈哈,这不是废话吗,不一样还搞它有个毛用啊!
调用js代码我调试了N长时间才弄出来,全部调试成功了,爽啊!本来周六上班就火,结果搞定一个问题,呵呵心情好多了啊!
测试环境:vs2005
自我感觉与测试环境没有什么关系的,估计只有js文件调用可能有点影响吧,因为原来写的时候<script>中很少写type属性,如果去掉type属性在vs2005中可能会出现验证性的错误,但是不影响效果和功能!
相关文章推荐
- asp.net2.0中通过CS代码来动态的指定aspx页面中head中的信息
- asp.net2.0中通过CS代码来动态的指定aspx页面中head中的信息
- HTTP协议中GET、POST和HEAD的介绍 2008-05-10 14:15 GET: 请求指定的页面信息,并返回实体主体。 HEAD: 只请求页面的首部。 POST: 请求服务器接受所指定的文
- QuicklyBuildModel/Login.aspx.cs[快速类建模型登录页面代码]
- 在C#代码(后台aspx.cs)页面中实现js的alert功能
- 关于通过代码指定页面控件的事件响应脚本函数的一个细节
- web控件在.aspx页面中在.aspx.cs后台代码Page_Load()中都设置了相同的属性,哪个优先级高?
- DownLoadFile.aspx.cs下载页面代码
- aspx页面中的OnClientClick,和cs代码中的Response.Write("")
- js代码文件动态生成(此为一张页面的后端cs代码)
- 如何在aspx页面中得到aspx.cs后台代码中的值
- js代码动态生成代码(此为一张页面的后端cs代码)
- ASP.NET中aspx.cs页面代码中的换行方法
- js 弹出提示信息,并跳转指定页面代码分享
- JavaScript 相关 —— 向页面写JS以alert信息、通过对地址栏赋值转到指定页、注册Js到Body的开始部分、注册Js到Body的结束位置
- 等待指定时间后自动跳转或关闭当前页面的js代码
- 通过定义css让页面可以打印指定的底色
- asp.net2.0中动态修改页面标题
- iOS开发基础-通过代码获取版本更新信息
- aspx页面中<input>中特殊字符导致提交不安全信息问题的解决方案