当前位置:编程学习 > C#/ASP.NET >>

求教

我有一个页面,里面有很多控件,我将这些控件名都写入数据库里,例如一个
<div class="box_menu" id="BC_Safe" runat="server"><a href="BC_Safe.aspx" class="linkb">安全库存</a></div>
数据库里存放了 id字段,字段值是 "BC_Safe",还有一个字段是是否可见 state字段,字货值,是True

现在我怎么样能从数据库中读出这个数据,来设置控件的可见性,就是说读出来的ID是字符串,怎么转成对应的控件 --------------------编程问答-------------------- 多思考一下就行了 --------------------编程问答-------------------- 暂时想到了一种略麻烦的办法。

    protected void Page_Load(object sender, EventArgs e)
    {
        List<EntityClass> list = new List<EntityClass>();
        EntityClass entity1 = new EntityClass();
        entity1.Id = "txtName";
        entity1.Visible = true;

        EntityClass entity2 = new EntityClass();
        entity2.Id = "txtValue";
        entity2.Visible = false;

        list.Add(entity1);
        list.Add(entity2);

        foreach(EntityClass entity in list)
        {
            foreach (Control ctrl in this.Controls) 
            {
                if(ctrl.ID == entity.Id)
                {
                    ctrl.Visible = entity.Visible;
                }
            }
        }
    }

    /// <summary>
    /// 构建实体类
    /// </summary>
    public class EntityClass
    {
        /// <summary>
        /// 控件ID
        /// </summary>
        private string id;

        public string Id
        {
            get { return id; }
            set { id = value; }
        }

        /// <summary>
        /// 是否可见
        /// </summary>
        private bool visible;

        public bool Visible
        {
            get { return visible; }
            set { visible = value; }
        }
    }
--------------------编程问答-------------------- 或者直接这样也可以

        foreach(EntityClass entity in list)
        {
            Control ctrl = this.FindControl(entity.Id);
            ctrl.Visible = entity.Visible;
        }
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,