ASPNET服务器控件是一种服务器端组件它封装了用户界面及其相关的功能相关的一些文章大家可以看看这两篇《ASPNET服务器控件视图浅析》和《ASPNET组件设计学习之ASPNET服务器控件》
我们都知道每一个服务器控件在服务器端创建相应的对象都是以牺牲服务器端的资源为代价的过多的使用服务器控件会极大的影响程序的性能但是服务器控件所带来的方便和功能是html控件所不能比拟的
服务器控件的状态视图属性能够自动的在页面往返过程中维护服务器控件的状态减少开发者的工作量但是需要占用大量的服务器内存资源因此在不需要服务器控件状态视图的情况下应将其EnableViewState属性设置为false如常用的和控件
PageIsPostBack用于记录页面是否从客户端返回若为false表示初次运行否则表示从客户端再次返回该页面
PageIsPostBack的合理应用可以避免页面在往返过程中的一些不必要的操作在Page_Load函数及一些只需要初始化一次的事件函数中均可以使用该属性来提高应用程序性能
void Page_Load(Object o EventArgs e)
{
if(! PageIsPostBack)
{conn=new SqlConnection(server=localhost; uid=sa; pwd=; database=data);
String sql=select * from student;
cmdFill(dsstu);
mydataGridDataBind();
}
}
DataGrid
控件带有最强大的数据显示功能还内置了对数据的修改删除添加分页等很多功能如果只需简单的显示数据 DataGrid并非最佳选择DataGrid控件的分页功能数据的存储方式(存储在viewstate中)等虽然让程序开发者使用方便快捷但由此产生的性能开销不容小视
DataList控件比DataGrid功能少了很多但自定义性强了很多特有的多行数据显示还是比较方便的DataGrid能实现的功能它基本能实现
Repeater控件功能最少但自定义性非常强由于减少了很多功能对服务器的性能带来消耗最小
因此在只需简单显示数据列表时选择Repeater或DataList控件同样可以达到目的而且减轻了性能上的开销