日期:2014-05-17  浏览次数:20613 次

页面按钮,放到缓存中。再次刷新页面,操作按钮的属性就失效了,不知道为什么啊?求高手
问题描述:获取页面的所有的LinkButton放到Dictionary<string, LinkButton>中,之后在把Dictionary<string, LinkButton>放到缓存中。第一次执行,按钮LinkButton2可以隐藏,再次刷新之后按钮LinkButton2会显示出来,调试结果是执行了LinkButton2.Visible=false。不知道哪里的问题啊?请高手指点指点。


页面代码

    <asp:LinkButton ID="LinkButton1" runat="server">LinkButton1</asp:LinkButton>
    <asp:LinkButton ID="LinkButton2" runat="server">LinkButton2</asp:LinkButton>
    <asp:LinkButton ID="LinkButton3" runat="server">LinkButton3</asp:LinkButton>


后台代码


 protected void Page_Load(object sender, EventArgs e)
        {
            foreach (KeyValuePair<string, LinkButton> item in GetPageControl())
            {
                if (item.Key.Contains("LinkButton2"))
                {
                    item.Value.Visible = false;
                }
            }
        }

        private Dictionary<string, LinkButton> GetPageControl()
        {
            string CacheKey = "aaaaa";
            object objDic = Common.DataCache.GetCache(CacheKey);
            if (objDic == null)
            {
                try
                {
                    Dictionary<string, LinkButton> dic = new Dictionary<string, LinkButton>();
                    foreach (Control childc in Page.Form.Controls)
                    {
                        if (childc is LinkButton)
                        {
                            dic.Add(childc.ID, childc as LinkButton);
                        }