就算不在下拉框中绑定,而是显示在页面上,不都得有个查询数据的过程。这些数据如果没有关系,并在多个表中,那你肯定得执行多条查询返回不同的数据源并绑定会展示到前台。下拉框也一样。
用视图
cache 缓存数据库取出来的数据, 设置过期时间为1分钟或30秒,
这样对你的系统影响不大
string CacheKey = "DataListUser" ; //这个键名, 你也可以自己定义
object objModel = DataCache.GetCache(CacheKey);
if (objModel == null)
{
try
{
objModel = dal.GetModel();
if (objModel != null)
{
DataCache.SetCache(CacheKey, objModel, DateTime.Now.AddMinutes(1));
}
}
catch{}
}
return (DataListUser)objModel; //DataListUser是一个类型, 这个你自己定义
下面的是 DataCache类
/// <summary>
/// 缓存操作类
/// </summary>
public class DataCache
{
/// <summary>
/// 获取当前应用程序指定CacheKey的Cache值
/// </summary>
/// <param name="CacheKey"></param>
/// <returns></returns>
public static object GetCache(string CacheKey)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
return objCache[CacheKey];
}
/// <summary>
/// 设置当前应用程序指定CacheKey的Cache值
/// </summary>
/// <param name="CacheKey"></param>
/// <param name="objObject"></param>
public static void SetCache(string CacheKey, object objObject)
{
System.Web.Caching.Cache objCache = HttpRuntime.Cache;
objCache.Insert(CacheKey, objObject);
}
/// <summary>
/// 设置当前应用程序指定CacheKey的Cache值, 按规定的过期时间
/// </summary>
/// <param name="CacheKey"></param>
/// <param name="objObject"></param>
/// <param name="absoluteExpiration"></param>
/// <param name="slidingExpiration"></param>
public static void SetCache(string CacheKey, object objObject, DateTime absoluteExpiration)
{
HttpRuntime.Cache.Insert(CacheKey, objObject, null, absoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration);
}
}