技术开发 频道

ASP.net服务器控件漫谈

  【IT168 技术文档】我们都知道,每一个服务器控件在服务器端创建相应的对象,都是以牺牲服务器端的资源为代价的,过多的使用服务器控件会极大的影响程序的性能。但是服务器控件所带来的方便和功能是html控件所不能比拟的

  服务器控件的状态视图属性能够自动的在页面往返过程中维护服务器控件的状态,减少开发者的工作量,但是需要占用大量的服务器内存资源。因此,在不需要服务器控件状态视图的情况下,应将其EnableViewState属性设置为false,如常用的和控件。

  Page.IsPostBack用于记录页面是否从客户端返回,若为false表示初次运行,否则表示从客户端再次返回该页面。Page.IsPostBack的合理应用可以避免页面在往返过程中的一些不必要的操作。在Page_Load函数及一些只需要初始化一次的事件函数中均可以使用该属性来提高应用程序性能。

void Page_Load(Object o, EventArgs e)
  { 
if(! Page.IsPostBack)
  {  conn
=new SqlConnection("server=localhost; uid=sa; pwd=; database=data");
  String sql
="select * from student";
  cmd.Fill(ds,
"stu");
  mydataGrid.DataBind();  }}

 

  DataGrid控件带有最强大的数据显示功能,还内置了对数据的修改、删除、添加、分页等很多功能。如果只需简单的显示数据, DataGrid并非非常好的选择。DataGrid控件的分页功能,数据的存储方式(存储在viewstate中)等,虽然让程序开发者使用方便快捷,但由此产生的性能开销不容小视。

  DataList控件比DataGrid功能少了很多。但自定义性强了很多。特有的多行数据显示还是比较方便的。DataGrid能实现的功能,它基本能实现。

  Repeater控件功能最少,但自定义性非常强。由于减少了很多功能,对服务器的性能带来消耗最小。

  因此,在只需简单显示数据列表时,选择Repeater或DataList控件同样可以达到目的,而且减轻了性能上的开销。

0
相关文章