ASP.NET中实现模版的动态加载
ASP.NET中,经常会使用到templates(模版)功能,比如在datagrid,datalist,repeater等控件中,使用templates,将会大大增强其功能。以往,我们一般是在设计程序时,就已经设置好控件中的模版是怎样的了。但是,有的时候,可能我们需要动态加载模版,比如,当你要求你的应用程序的界面风格随着用户的需求而变化时,你就需要到动态加载模版的功能了。但要注意的是,并不是所有的web控件都支持模版功能,而且要注意,哪些控件支持模版的哪些功能,下面简单列出了一些支持模版功能的控件:
Repeater控件,支持的模版有:
HeaderTemplate, FooterTemplate, ItemTemplate, AlternatingItemTemplate, SeperatorTemplate.
Datelist控件,支持的模版有:
HeaderTemplate, FooterTemplate, ItemTemplate, AlternatingItemTemplate, SeparatorTemplate, SelectedItemTemplate, EditItemTemplate.
Datagrid控件,支持的模版有:
HeaderTemplate, FooterTemplate, ItemTemplate, EditItemTemplate, Pager.
下面,我将以动态加载datalist控件的模版来说明如何动态加载模版:
首先来了解动态加载模版的原理。在.NET中,有templatecontrol类,这个类是page和usercontrol类的基类。它也同时定义了page和usercontrol类的基本功能。该类提供了两个方法:loadcontrol和loadtemplate。Loadcontrol方法装载来自外部文件的控件,并且返回usercontrol类对象。而loadtemplate方法加载来自外部文件的模版并且返回的是Itemplate对象。
Loadtemplate方法中,只有一个参数,参数值是外部模版文件的路径,并且返回itemplate对象。而datalist控件提供了一系列的属性,可以设置各种模版的属性,包括有AlternatingItemTemplate, EditItemTemplate, FooterTemplate, HeaderTemplate, ItemTemplate, SelectedItemTemplate, 和 SeperatorTemplate,在下文中,将会看到相关介绍。
接着,我们开始介绍例子,在示例程序中,是使用动态创建数据表和数据列的,并且将数据的创建封装到一个Db类中,好让读者进一步回顾如何动态创建数据表,数据列等,并没用从数据库中提取(当然,你也可以用传统的读取数据库的方法)。
以下为引用的内容:
相关文档:
ASP.NET 登录控件为 ASP.NET Web 应用程序提供了一种可靠的、无需编程的登录解决方案。默认情况下,登录控件与 ASP.NET 成员资格和 Forms 身份验证集成,以帮助实现网站的用户身份验证过程的自动化。
默认情况下,ASP.NET 登录控件以纯文本形式工作于 HTTP 上。如果您对安全性十分 ......
服务器控件生命周期简介
服务器控件的生命周期是创建服务器控件最重要的概念。作为开发人员,必须对服务器控件生命周期深刻理解。当然,这不是一朝一夕就可以做到的。对于学习
控件开发技术的初学者,可以不必掌握得非常详细深入,只需对服务器控件的生命周期中的不同阶段有一个大致的了解即可。
......
您可以通过以下方法自定义多个 ASP.NET 登录控件的内容:指定控件模板并将自己的控件添加到控件的用户界面 (UI),或者替换或移除控件的用户界面不需要的可选控件。还可以使用登录控件的样式属性以及主题和外观来定制控件的外观。
一、可自定义的登录控件
对于可以使用模板替换 ......
学习自定义控件的开发不仅可以使你开发出更灵活的系统更重要的是它可以使你加深对已有服务器控件的理解,得以更灵活的应用。
较之于asp,asp.net提供了更强大的功能,我比较喜欢它的代码分离技术和对诸如C#、VB.Net等强类型语言的使用,这是从开发者的角度来看
的,从用户的角度来看,会觉得它速度更快,运行更稳定,安全 ......
1.using gizp compress page ,gif file can't be compressed.
2.put script at the bottom,and put css at the top.
3.make the css and js external.
4.load-on-demand.(If a UI block need to show by control.Set visibable=false. and enableviewstate=true,override the saveviewstate method.)
5.remove the dupl ......