页面有两个DropDownList,DropDownList1和DropDownList2
我<%@ OutputCache Duration="600" VaryByControl="DropDownList2" %>缓存的是2,为什么会把整个页面都给缓存起来呢?

解决方案 »

  1.   

    VaryByControl="DropDownList2"
    这个意思是把当前页面缓存起来,根据DropdownList选中的不同值,缓存不同的页面
      

  2.   

    如果你只是想缓存这个,可以把DropdownList缓存到Cache中
      

  3.   

    @ bclz_vs 你好,放到Cache是没有问题
    现在就是想测试下,缓存控件到底是怎么缓存的,一个页面多个控件,缓存其中一个,我测试就是缓存整个页面了,请教!!
      

  4.   

    那个叫做缓存依赖项,缓存的当然是但钱页面(用户控件),只不过是依赖DropDownList2的值改变而清楚当前页面缓存而已。
      

  5.   

    你好,我是如下测试,不知道是不是错误的页面A.aspx放一个DropDownList0 ,再调用一个自定义用户控件(B.ascx)
    B.ascx里面有DropDownList1和DropDownList2,我缓存了DropDownList2,当我修改表的数据的时候,刷新A.aspx页面,只有DropDownList0改变,DropDownList1和DropDownList2都没有变化,读取的是缓存的。为什么DropDownList1也没有变化呢?我只缓存了DropDownList2哦。请赐教