知识大全 .net延迟加载的一般实现
Posted 知
篇首语:少而好学,如日出之阳;壮而好学,如日中之光;老而好学,如炳烛之明。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 .net延迟加载的一般实现相关的知识,希望对你有一定的参考价值。
本文对延迟加载在常用控件的实现做简单的描述
一 在界面第一次显示时加载
最简单的延迟加载可以通过控件第一次显示时加载数据 例如你有很多的页签 只有用户切换到这个页签时 才会加载数据
在 NET的Control中提供SetVisibleCore虚方法 当检测value是true且第一次调用此方法时 调用延迟加载 但是我并不推荐这个方法 因为你有更好的地方
- 如果你的控件继承自Form或者UserControl 建议重载OnLoad
- 如果继承自Control 可以重载OnCreateControl
下面是延迟加载数据的例子
public class MyTabPage : TabPage
PRotected override void OnCreateControl()
base OnCreateControl();
string oldText = this Text;
this Text = Loading ;
//TODO:在这里调用加载数据的方法
this Text = oldText;
二 树控件在第一次展开时加载
TreeView因为所有的节点并不是继承自Control 所以不能使用上面的方式 但是TreeView提供了OnBeforeExpand虚方法 最简单的办法是在你打算实现延迟加载的节点加入一个是否已经加载的标记 当第一次展开时 检测这个标记
必须记住你的延迟加载节点在根位置是不能收到这个事件的
三 在表格中延迟加载
在Windows程序中 有的使用分页的方式实现延迟加载 但这种方式的用户体验非常的糟糕 如果你希望仍然使用滚动条的话 可以自己实现IBindList接口 内部持有一个数据的ID列表 在表格询问数据时 才到数据库加载数据 通常的表格控件都能够很好的工作
但这里有个应该注意的地方 例如用户按下PageDown时 表格控件连续的调用获取数据方法 如果每次请求都去调用数据库 将会很低的性能 应该让你的程序 预知 到可能要读下 笔数据了 所以一次性多读 条就可以
这种方法遇到表格排序的时候就没有办法了
cha138/Article/program/net/201311/12122相关参考
这里延迟加载的意思是拖动滚动条时在图片出现在浏览器显示区域后才加载显示 大概的实现方式是在页面的load没有触发之前把所有的指定id的元素内的img放入到imgs中将所有的图片的src值
类名HibernateUtil packageantbeejeemodelutil; importjavalangreflectInvocationTargetException; impo
知识大全 如何实现lazyload的图片延迟加载功能(1/2)
如何实现lazyload的图片延迟加载功能lazyload的难点在如何在适当的时候加载用户需要的资源(这里用户需要的资源指该资源呈现在浏览器可视区域)因此我们需要知道几点信息来确定目标是否已呈现在客户
Hibernate的延迟加载,一个锋利的两面刀 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 延
利用JS延迟加载百度分享代码,提高网页速度 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 发现很
<!doctypepublic"//wc//dtdxtransitional//en""/dtd/xtransitionaldtd"><xmlns=""><head>
为了进一步优化Hibernate的性能可以使用 延迟加载技术管理数据抓取策略进行缓存管理等方面考虑来提高Hibernate的性能 延迟加载(load) 延迟加载(load)是Hibernat
ASP.NET中实现模版的动态加载 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPNET中
ASP.NET中实现模版的动态加载[1] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! ASPN
ASP.NET中实现模版的动态加载[2] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 接下来我