private DataView GetIndexPerson()
{
   DataView Source = (DataView)Cache["IndexPerson"];   if(Source==null)
    {
      Source  = new DataView(Meng.GetPersonTop().Tables[0]);Cache.Insert("IndexPerson",Source , null,DateTime.Now.AddMinutes(1), TimeSpan.Zero);
     }  
 
     return Source;}private DataView GetIndexZhiming()
 {
    DataView Source = (DataView)Cache["IndexZhiming"];
     if(Source==null)
      {
        Source  = new DataView(Business.User.GetIndexZhimingTop().Tables[0]);Cache.Insert("IndexZhiming",Source , null,DateTime.Now.AddMinutes(1), TimeSpan.Zero);
       }  
 
   return Source;
}private DataView GetIndexCom()
{
    DataView Source = (DataView)Cache["IndexCom"];    if(Source==null)
     {
       Source  = new DataView(Business.Meng.GetComTop().Tables[0]);Cache.Insert("IndexCom", Source, null,DateTime.Now.AddMinutes(1), TimeSpan.Zero);
      }  
 
    return Source;
}
private DataView GetIndexNews()
{
    DataView Source = (DataView)Cache["IndexNews"];    if(Source==null)
     {
        Source  = new DataView(Business.User.GetIndexNewsTop().Tables[0]);Cache.Insert("IndexNews", Source, null,DateTime.Now.AddMinutes(1), TimeSpan.Zero);
     }  
 
   return Source;
}我这样在。cs文件中调用是不是就行了
private void BindList()
{
MyZhiming.DataSource = GetIndexZhiming();
MyZhiming.DataBind();MyNewNews.DataSource = GetIndexNews();
MyNewNews.DataBind();MyDataJob.DataSource =  GetIndexCom();
         MyDataJob.DataBind();MyDataPerson.DataSource =  GetIndexPerson();
MyDataPerson.DataBind();
}---------------------------------
大家看看,我这样行不?大家看看,我这样的一个页面的多次用Cache行不行
---------------------------------------------
还就是
避免过多的服务器控件视图状态:自动状态管理是一种功能,它使服务器控件能够在往返行程中重新填充它们的值,而不要求编写任何代码。但是,此功能并不能任意使用,因为控件状态是在隐藏的窗体字段中传入和传出服务器的。应当明白 ViewState 何时有帮助,何时没有。例如,如果在每个往返行程中将控件绑定到数据(如第四条提示中的数据网格示例所示),则不要求控件维护它的视图状态,因为无论如何都将擦除任何重新填充的数据。 
<%@ Page EnableViewState="false" %>还就是这个到底有什么用?
他到底禁止了什么??

解决方案 »

  1.   

    当然可以,不过Cache一般用在更新不是很频繁,但是访问比较频繁的数据 如排行榜之类的禁用 ViewState
    在上述示例中,我通过将网格的 EnableViewState 属性设置为 False 禁用了 ViewState。可以针对单个控件、整个页面或整个应用程序禁用 ViewState,如下所示: 
    每个控件(在标记上):sp:datagrid EnableViewState="false" ?/> 
    每个页面(在指令中): <%@ Page EnableViewState="False" ?%> 
    每个应用程序(在 web.config 中): <Pages EnableViewState="false" ?/>