

























Dappers内部定义了3个重要的Info对象: MappingInfo, StatementInfo, QueryInfo
{
public bool? IsOr { get; set; }
public bool IsInClause { get; set; }
public string[] Cons { get; set; }
public string ParamName { get; set; }
public string Criterion { get; set; }
}
默认设置下,每当请求首次涉及MappingInfo、StatementInfo时, 才会创建该对象。并自动加入LRU缓存池。 任何30分钟没有再次访问、Info总量超过200条时, 都会移除最少访问的记录。
编辑页缓存:
通常一个列表,都可以链接、弹出响应的明细编辑界面。通常,每次载入不同的行,明细界面载入不同的数据:
所以这里对window做了处理: 初次打开window之后, 这个iframe创建;窗口关闭,iframe的div隐藏即可。 再次打开窗口,检测url是否一致,一致则直接弹出该frame,并根据额外参数,除非frame载入数据:
WIN.open({title:gridview.title,
url:gridview.editUrl,
param:'Id='+id,
id:EDITOR_ID,
width:gridview.editWidth,
height:gridview.editHeight,
maximized:gridview.editMaximized,
maximizable:gridview.editMaximizable,
modal:true
});
可见,页面载入不再是: test.aspx?Id=0001 的方式, 而是
1.页面载入 test.aspx ,
2.载入后立即执行 loadData('Id=0001') ,以ajax的方式载入数据。
当Id变成 0002 的时候,
1. 弹出window
2.loadData('Id=0002' ) ,载入数据。
当列表页面关闭时,列表的关闭事件自动清理所关联的window。从而实现窗体的缓存与过期。
这种缓存方式,在GIS地图展示时效果尤其明显: 每次重新地位, 地图瞬间打开,并动画的方式移动地图切换到新的坐标点。不会出现地图界面载入困难, 局部区域空白再逐步载入等问题, 大大提高了体验效果。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。