ASP.NET中的另类控件——LiteralControl
2012-01-10 15:06
295 查看
首先看一个aspx文件里的部分内容:
我们知道ASP.NET会把这个文档解析成类似Dom的控件树,控件树是分层、递归的。其中最顶层的是页面Page,那么现在要问,Page的下一层有多少个控件?
答案是5个,可以输出this.Page.Controls.Count的值验证一下。它是怎么解析的呢?
第一个:从<!DOCTYPE到transitional.dtd">\r\n
第二个:从<head id="Head1"到</head>,类型为HtmlHead;
第三个:包括</head>后面的\r\n\<body>\r\n\t
第四个:从<form id=到</form>,类型为HtmlForm;
第五个:从</form>后面的\r\n到最后。
其中第二个和第四个属于Html控件,而第一、三、五个则属于静态文本,ASP.NET将其解析成LiteralControl。LiteralControl既不是Web控件,也不是Html控件,自成一类,表示 HTML 元素、文本和 ASP.NET 页中不需要在服务器上处理的任何其他字符串。几乎可以说,LiteralControl是ASP.NET中肯定用到的控件,只是你可能不知道而已。
关于LiteralControl,有几点说明:
1. LiteralControl也可以有ID、ClientID和UniqueID,但一般很少用到。除了用FindControl方法外,给其设置ID没有什么意义。
2. LitrelControl不具有视图状态,虽然它也有一个EnableViewState属性,但不起作用,回发后先前更改的状态必丢失。
3.由于表示的是静态文本,所以无法为LitrelControl本身设置任何样式。
4. 后台通过其Text属性获取和设置值。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title></title> </head> <body> <form id="form1" runat="server"> </form> </body> </html>
我们知道ASP.NET会把这个文档解析成类似Dom的控件树,控件树是分层、递归的。其中最顶层的是页面Page,那么现在要问,Page的下一层有多少个控件?
答案是5个,可以输出this.Page.Controls.Count的值验证一下。它是怎么解析的呢?
第一个:从<!DOCTYPE到transitional.dtd">\r\n
第二个:从<head id="Head1"到</head>,类型为HtmlHead;
第三个:包括</head>后面的\r\n\<body>\r\n\t
第四个:从<form id=到</form>,类型为HtmlForm;
第五个:从</form>后面的\r\n到最后。
其中第二个和第四个属于Html控件,而第一、三、五个则属于静态文本,ASP.NET将其解析成LiteralControl。LiteralControl既不是Web控件,也不是Html控件,自成一类,表示 HTML 元素、文本和 ASP.NET 页中不需要在服务器上处理的任何其他字符串。几乎可以说,LiteralControl是ASP.NET中肯定用到的控件,只是你可能不知道而已。
关于LiteralControl,有几点说明:
1. LiteralControl也可以有ID、ClientID和UniqueID,但一般很少用到。除了用FindControl方法外,给其设置ID没有什么意义。
2. LitrelControl不具有视图状态,虽然它也有一个EnableViewState属性,但不起作用,回发后先前更改的状态必丢失。
3.由于表示的是静态文本,所以无法为LitrelControl本身设置任何样式。
4. 后台通过其Text属性获取和设置值。
相关文章推荐
- LiteralControl ASP.NET中的另类控件
- LiteralControl ASP.NET中的另类控件
- ASP.NET中的另类控件——LiteralControl
- asp.net控件的另类用法之-DataGrid的另类用法一
- ASP.NET中的另类控件
- asp.net日历控件
- [翻译]使用ASP.NET 2.0中的ReportViewer控件
- ASP.NET使用Linq to SQL实现基本的增、删、改、查及绑定控件
- ASP.NET自定义控件组件开发 第四章 组合控件开发CompositeControl
- asp.net C#将文档或控件dataGrid输出为Excel文档下载
- 自定义服务器控件ASP.NET Barcode Web Server Control
- ASP.NET - BulletedList Web 服务器控件概述
- asp.net 打印控件之报表
- 分享两个实用的ASP.NET开发技巧——使用WebMethod实现ajax和控件的ClientIDMode属性
- ASP.NET 验证控件之Text与ErrorMessage区别
- 解释ASP.NET中用户控件UserControl不能被拖曳大小的原因
- Telerk-asp.net 第三方控件之控件讲解 RadAjaxPanel(二)
- Asp.net 权限控制 利用用户控件include到页面
- 如何在ASP.NET下遍历指定页面上所有控件
- ASP.net中同时设置控件的多个属性,以及设置背景透明色。