C# 在ASP中继器C中显示/隐藏div标记#

C# 在ASP中继器C中显示/隐藏div标记#,c#,asp.net,repeater,show-hide,C#,Asp.net,Repeater,Show Hide,我希望能够根据用户角色显示/隐藏“div标签” 有些人会看到一些东西,有些人不会。这在中继器之外很容易。显然d1.Visible=false不起作用 我已经搜索了包括Stack在内的web,但没有结果。这更多的是一个哪个方向合适的问题 代码内联-- html asp:Repeater runat=“server”id=“Repeater1”> itemtemplate> div> div id=“d1”runat=“server”>/div> /div> div id=“d3”runat=“se

我希望能够根据用户角色显示/隐藏“div标签”

有些人会看到一些东西,有些人不会。这在中继器之外很容易。显然
d1.Visible=false不起作用

我已经搜索了包括Stack在内的web,但没有结果。这更多的是一个哪个方向合适的问题

代码内联--

html

asp:Repeater runat=“server”id=“Repeater1”>
itemtemplate>
div>
div id=“d1”runat=“server”>/div>
/div>
div id=“d3”runat=“server”>/div>
/itemtemplate>
/asp:中继器>
/div>

受保护的void Repeater1\u ItemDataBound(对象发送方,RepeaterItemEventArgs e)
{
if(e.Item.ItemType.Equals(ListItemType.AlternatingItem)| e.Item.ItemType.Equals(ListItemType.Item))
{
//您可以隐藏/显示禁用/启用div
Control div1=e.Item.FindControl(“div1”);
//在这里获取角色并检查
//如果角色!=管理员
div1.可见=假;
}
}

谢谢你的回复和指导。在您回复之前,我决定尝试一种非常类似的方法。详情如下: 受保护的void Repeater1\u ItemDataBound(对象发送方,RepeaterItemEventArgs e)

如果是空的或空的,则页面将被放大

I changed to test if the reader had a record or not.
     if (reader6a.Read())
        {
            div1.Visible = true;
            div2.Visible = false;
            div3.Visible = false;
        }
    else
{
and so on
}
asp:Repeater runat="server" id="Repeater1">

itemtemplate>

div>
div id="d1" runat="server"><%# DataBinder.Eval(Container.DataItem, "Item1") %>/div>

<div id="d2" runat="server"><%# DataBinder.Eval(Container.DataItem, "Item2") %>/div>

div id="d3" runat="server"><%# DataBinder.Eval(Container.DataItem, "Item3") %>/div>


/itemtemplate>

/asp:Repeater>


/div>
    <asp:Repeater runat="server" id="Repeater1" OnItemDataBound="Repeater1_ItemDataBound">

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType.Equals(ListItemType.AlternatingItem) || e.Item.ItemType.Equals(ListItemType.Item))
        {
            //You can hide/show disable/enable your div
            Control div1 = e.Item.FindControl("div1");
            //get role here and check 
            // if role != admin 
           div1.Visible = false;
        }
    }
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType ==       ListItemType.AlternatingItem)
    {




        // Show or hid div here
        System.Web.UI.HtmlControls.HtmlContainerControl div1 = (System.Web.UI.HtmlControls.HtmlContainerControl)e.Item.FindControl("div1");

        System.Web.UI.HtmlControls.HtmlContainerControl div2 = (System.Web.UI.HtmlControls.HtmlContainerControl)e.Item.FindControl("div2");

        System.Web.UI.HtmlControls.HtmlContainerControl div3 = (System.Web.UI.HtmlControls.HtmlContainerControl)e.Item.FindControl("div3");

Also changed the test for the reader.
the reader is checking the DB for a RoleId but the problem was when the reader
I changed to test if the reader had a record or not.
     if (reader6a.Read())
        {
            div1.Visible = true;
            div2.Visible = false;
            div3.Visible = false;
        }
    else
{
and so on
}