在代码behinde中动态访问控件名称

时间:2016-01-18 11:43:02

标签: c# asp.net

我想显示/隐藏一系列div,具体取决于登录用户的userGroup。

    $this->db->select('SUM(net_price*quantity) as total_amount');
    $this->db->from('sale');
    $this->db->group_by('tax_id');
    $res = $this->db->get();
    if($res->num_rows() > 0)
    {
        return $res->result();
    }else{
         return false;
    }

我使用以下内容来检索用户组。

<div id="divUserGroup1" runat="server" visible ="false"> 
</div>
<div id="divUserGroup2" runat="server" visible ="false"> 
</div>
<div id="divUserGroup3" runat="server" visible ="false"> 
</div>

是否有更好的方法,然后执行以下操作。

userGroup = Convert.ToInt32(Session["userGroup"]);

我在考虑某种divUsergroup“+ userGroup +”.Visible = True

但我无法得到任何工作。

由于

1 个答案:

答案 0 :(得分:1)

您可以使用Page.FindControl按名称查找控件:

Control c = this.FindControl("divUsergroup" + userGroup);

if (c != null) // it exists?
{
    c.Visible = true;
}

(请注意,这只能找到顶级控件)