菜鸟问题:怎样绑定数据,打开网页变快?~~~~

luyanvv 2008-12-24 10:24:03
我在Page_Load里面绑定很多DropDownList都是用SqlDataReader()循环Add的,
一大套的DropDown每一个都要开一个Reader(),打开网页的时候,都要去执行那些东东就变慢了

本来想弄一个CheckBox,当Checked时,就绑定嘛,可是那样的话,点击CheckBox的时候,页面好像也会变得慢慢的哦

怎样绑定数据,才不会让页面变得慢呀
...全文
223 31 打赏 收藏 转发到动态 举报
写回复
用AI写文章
31 条回复
切换为时间正序
请发表友善的回复…
发表回复
naturade 2009-01-02
  • 打赏
  • 举报
回复
数据量少的用sqldatareader,数据量多并且常用到的就用DataSet\缓存,

性能的问题还是要够实践得出经验的哦。

naturade 2009-01-02
  • 打赏
  • 举报
回复
数据量少的用sqldatareader,数据量多并且常用到的就用DataSet\缓存,

性能的问题还是要够实践得出经验的哦。

mengxj85 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 26 楼 hailong20062008 的回复:]
用DataSet 和 DataTable 哪个更好啊。我一直都用DataSet
[/Quote]
Datatable据说占用的内存小些
优化数据吧,看哪些数据不需要就先不绑定
hailong20062008 2008-12-24
  • 打赏
  • 举报
回复
用DataSet 和 DataTable 哪个更好啊。我一直都用DataSet
luyanvv 2008-12-24
  • 打赏
  • 举报
回复
有没有示例,看一下~
luyanvv 2008-12-24
  • 打赏
  • 举报
回复
怎么用DataTable?
chenfeng3000 2008-12-24
  • 打赏
  • 举报
回复
我也用DataTable 速度很快
luyanvv 2008-12-24
  • 打赏
  • 举报
回复
我是这样绑定的:

SqlDataReader dr = sql.DRSetSql("select * from g_State where StateFlag=0");
txtState.Items.Add(new ListItem(""));
while (dr.Read())
{
txtState.Items.Add(new ListItem(dr["StateName"].ToString(), dr["StateName"].ToString()));
}
dr.Close();
luyanvv 2008-12-24
  • 打赏
  • 举报
回复
用SqlDataReader()会很慢吗?

天啊。头晕了
laoyingisme 2008-12-24
  • 打赏
  • 举报
回复
Ispostback 方法,减少不变数据重复绑定.
CODE163 2008-12-24
  • 打赏
  • 举报
回复
一步一步的来才行 你现在用的是READER不高效 用DATATABLE
读取数据要使用存储过程,
读取要用合适的SQL语句
读取出来可以结合缓存
既然你知道一个页面上DROPDOWN多了不行 最好是想别的解决办法!
yingshao419 2008-12-24
  • 打赏
  • 举报
回复
你的页面即然需要很多dropdownlist,而且还要从数据库中读数据来绑定,怎么读都会慢
wuyq11 2008-12-24
  • 打赏
  • 举报
回复
写类,在方法里传递dropdownlist和类别。实现数据绑定,同时数据存入缓存
郑某人 2008-12-24
  • 打赏
  • 举报
回复
用反射把控件动态加载...
这样程序的效率会提高的
mark620 2008-12-24
  • 打赏
  • 举报
回复
绑定完数据最好多用静态页面
空心兜兜 2008-12-24
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zhuanshen712 的回复:]
一般我绑定DropDownList都是这样:
DropDownList1.DataSource=ds;//ds为数据集
DropDownList1.DataTextField="字段1";
DropDownList1.DataValueField="字段2";
DropDownList1.DataBind();
这样不用一项一项添加。代码少点儿。
[/Quote]

学习下
jiang_jiajia10 2008-12-24
  • 打赏
  • 举报
回复
做缓存,绑定的时候用填充数据集DataSet形式。优化你的查询语句,数据库建立索引。
给你个缓存的例子

if (Cache["ds"] != null)
{
Cache.Remove("ds");
}
dv = (DataView)Cache["ds"];
if (dv == null)
{
dv = dt.DefaultView;
Cache.Insert("ds", dv, null, Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(3));
rpt.DataSource = dv;
rpt.DataBind();
}
pgameli 2008-12-24
  • 打赏
  • 举报
回复
大量的数据别用SqlDataReader
你试试直接用DataTable
效果会好点

用缓存的话,就得考虑从数据库提取的值是否经常更改
经常更改的话,就不要用缓存了
zhuanshen712 2008-12-24
  • 打赏
  • 举报
回复
一般我绑定DropDownList都是这样:
DropDownList1.DataSource=ds;//ds为数据集
DropDownList1.DataTextField="字段1";
DropDownList1.DataValueField="字段2";
DropDownList1.DataBind();
这样不用一项一项添加。代码少点儿。
luyanvv 2008-12-24
  • 打赏
  • 举报
回复
用缓存?

不知道怎么用哦?

性能问题,一直都是困扰我的最大问题。

有什么书是专门讲性能问题的吗?
加载更多回复(11)

62,269

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧