您的位置:首页 > 其它

关于前台Eval方法绑定的性能损失

2007-10-19 17:52 288 查看
<asp:Label ID="lbTime" Font-Bold="true" runat="server" /> <br />

<asp:Repeater ID="gw1" runat="server">

<ItemTemplate>

<%# Eval("name") %>|<%# Eval("age") %>|<%# Eval("grade") %><br />(这里是常用的绑定方法,但是效率较低)

<%--<%# ((DataRowView)Container.DataItem)["name"] %>|<%# ((DataRowView)Container.DataItem)["grade"] %>

|<%# ((DataRowView)Container.DataItem)["age"]%>--%>(这是标准绑定语法,效率较高)

</ItemTemplate>

</asp:Repeater>

经常在前台写出这样的代码,采用标准的绑定语法,花费的时间将降为为原来的60%左右,可见性能要好不少.

这里是后台测试代码:

DateTime startTime = DateTime.Now;

DataTable dt = new DataTable();

dt.Columns.Add("name");

dt.Columns.Add("age");

dt.Columns.Add("grade");

for (int i = 0; i < 3000; i++)

{

DataRow dr = dt.NewRow();

dr[0] = "Martin" + i.ToString() ;

dr[1] = "Hehe";

dr[2] = "ddddkkk";

dt.Rows.Add(dr);

}

gw1.DataSource = dt;

gw1.DataBind();

DateTime endTime = DateTime.Now;

TimeSpan excutionTime = (TimeSpan)(endTime - startTime);

lbTime.Text = excutionTime.TotalSeconds.ToString();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: