ASP.NET实现动态页面标题
来源:互联网 发布:php二维数组键值修改 编辑:程序博客网 时间:2024/05/28 16:10
在ASP中,我们可以用:
<TITLE>
<%
Response.Write("我把标题给改了!")
%>
</TITLE>
的方式来实现动态的改变页面标题,因为ASP的程序代码可以与HTML代码可以交错写在一起,可是到了ASP.NET时代,我们坚决不那样做,为什么,以后的维护工作太难了。这也许是ASP程序员最头疼的事。但是,在ASP.NET中怎么样才能实现呢?
ASP.NET为我们提供了一个控件类:System.Web.UI.HtmlControls.HtmlGenericControl。它可以实现HTML的元素的一个实例,比如在.cs代码中控制aspx中的<td>元素(注意,它不是<ASP:TableCell>)。我们知道,页面标题是被包含在<TITLE></TITLE>中的,而<TITLE>也是一个HTML的元素,所以,我们就可以利用System.Web.UI.HtmlControls.HtmlGenericControl来控制<TITLE>了。
ASP.NET中,如果想在.cs中控制aspx的一个元素(不论这个元素是Web控件还是HTML控件),那么这个元素的runat属性必须设置成server,也就是说,只有元素的runat属性设置成server后,在.cs中才可以控制这个元素(当然,这个元素必须设置id的)。
现在我们着手试试,在aspx文件的HTML代码中,更改<TITLE>元素为:
<TITLE runat="server" id="titleControl">Default Title</TITLE>
注意一定要设置runat="server"和id(id很重要,并且注意大小写)。这里的Default Title是默认的标题,你不改标题时,就显示Default Title.
转到.cs文件,声明一个变量titleControl,类型为System.Web.UI.HtmlControls.HtmlGenericControl:
protected System.Web.UI.HtmlControls.HtmlGenericControl titleControl;
这样,titleControl就是<TITLE>了。要改变标题就可以在.cs方法中(比如:Page_Load)加入:
titleControl.InnerText=“我把标题给改了!”;
其实对于System.Web.UI.HtmlControls.HtmlGenericControl控件可以作为所有的HTML控件在服务器端的表现,也就是说只要在后台代码(.aspx.cs/.aspx.vb)中声明一个与前端的HTML控件Id相同的System.Web.UI.HtmlControls.HtmlGenericControl控件对象就可以,并要注意前端的HTML控件的属性中要加上一句runat="server",要不然后,后台代码是不会对前端HTML控件执行操作的。
2005-08-16,突然发现用户自定义控件也是这样访问的。也就是说,如果想在后台代码(aspx.cs)中访问用户自定义控件的某个属性或方法(当然必须是public),那么,就需要在aspx文件的HTML定义用户控件Id,同时还要加上一句runat="server",然后在后台代码(aspx.cs)中声明这个用户控件的引用(跟声明类的其他字段一样),只不过形式是“protected ;”。这样,在后台代码(aspx.cs)中才可以操作这个自定义控件了。(真不明白,微软为什么不为用户自定义控件在aspx文件中自动加上runat="server"属性,同时在后台代码中加上对此控件类似其他Web控件一样加上protected声明?)
- ASP.NET实现动态页面标题
- 动态改变Asp.net页面标题
- 动态改变Asp.net页面标题
- asp.net 2.0中动态修改页面标题
- 动态改变Asp.net页面标题方法整合
- asp.net 2.0中动态修改页面标题
- asp.net 2.0中动态修改页面标题
- 动态改变Asp.net页面标题方法整合
- asp.net 2.0中动态修改页面标题
- asp.net 2.0中动态修改页面标题
- Asp.Net基于动态页面的静态页面实现
- Asp.Net基于动态页面的静态页面实现
- 文章标题 动态页面实现
- ASP.NET动态网站开发培训-22.论文管理系统(二、制作论文标题页面)
- asp.net + CSS实现动态菜单突出显示当前页面!
- asp.net中实现页面上动态显示系统时间
- asp.net页面中标题单点解决方案
- ASP.NET 页面 动态编译
- linux 信号简单例子分析
- MSN签名档
- [原创] 系统文件对话框中各控件的ID值
- [幽默网文][观点]原来给MM修电脑也这么多讲究
- 实现自动备份、上传数据库
- ASP.NET实现动态页面标题
- [观点][幽默网文]10岁20岁30岁
- rup 模板说明
- SESSIONBEAN 的运用
- ENTITY BEAN的运用(一)
- 为什么HttpSession的isNew()方法总返回True?
- Lucene学习笔记
- ENTITY BEAN的运用(二)
- ENTITY BEAN的运用(三)