测试环境:SDK2.0+vs2005+Sql2000+WindowXp
建立测试工程:
新建页面,使用Web控件Repeater:
HTML页面
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!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 runat="server"> <title>使用Web控件</title> </head> <body> <form id="form1" runat="server"> <div> <asp:Repeater ID="Repeater1" runat="server"> <ItemTemplate> <%#Eval("Comp_Name") %>-<%#Eval("Comp_ID") %><br /> </ItemTemplate> </asp:Repeater> </div> </form> <%=(System.Environment.TickCount-ts) %> </body> </html>
CS文件:
protected int ts; protected void Page_Load(object sender, EventArgs e) { ts = Environment.TickCount; string connstring = System.Configuration.ConfigurationManager.ConnectionStrings["ConnStr"].ToString(); SqlConnection myconn = new SqlConnection(connstring); SqlCommand cmd = new SqlCommand("select * from TB_Info", myconn); myconn.Open(); SqlDataReader dr = cmd.ExecuteReader(); Repeater1.DataSource = dr; Repeater1.DataBind(); dr.Close(); dr.Dispose(); myconn.Close(); myconn.Dispose(); }
按F5执行:数据量约2000条,多次测试耗时在210ms附近浮动。
新建页面,不使用Web控件
HTML代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %> <!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 runat="server"> <title>不使用Web控件</title> </head> <body> <form id="form1" runat="server"> <div> <%while (dr.Read()) { %> <%=dr["Comp_Name"]%>-<%=dr["Comp_ID"]%><br /> <% } %> </div> </form> <% dr.Close(); dr.Dispose(); myconn.Close(); myconn.Dispose(); %> <%=(System.Environment.TickCount-ts) %> </body> </html>

