用ajax,多个控件用的数据都存放在一个js全局变量里。
即每个控件显示时都去判断一下,是否已经有数据了,有就用原来的,没有就ajax去取。
这是一种解决方法。现在想知道有没有.net配置方法可以实现
@lucika.zh:
当然有,比如你页面继承一个有GetProvince方法的基类ProvinceDataPage:
object _data;
T GetProvince<T>(Func<T> getData){
if(_data==null){
_data=getData();
}
return _data as T;
}
用户控件:
ProvinceDataPage pdp=this.page as ProvinceDataPage;
if(pdp!=null){
xx控件.DataSource=
pdp.GetProvince<DataTable>(()=>{
return xxx.从数据库取数据();
});
}
@向往-SONG: 谢谢!这种方法比较巧妙,似乎理解了其中的奥妙。
方法很多啊,缓存当然可以,session也可以
还有一种方法:用户控件最后也都是html代码,完全可以不使用用户控件,在后台StringBuilder起来,然后赋值给前台