首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在C#转发器中显示/隐藏div标签

在C#转发器中显示/隐藏div标签
EN

Stack Overflow用户
提问于 2018-10-05 04:57:25
回答 2查看 940关注 0票数 2

我希望能够显示基于用户角色的/hide "div标签“。

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

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

代码内联--

代码语言:javascript
复制
protected void Eng_SelectedIndexChanged(object sender, EventArgs e)

{

sqlInv = "Select Item1, Item2, Item3, From Table";

IDataReader reader6 = DatabaseHelper.GetReader(string.Empty, sqlInv);


    Repeater1.DataSource = reader6;

        Repeater1.DataBind();

        reader6.Close();

}

html

代码语言:javascript
复制
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>
EN

回答 2

Stack Overflow用户

发布于 2018-10-05 15:08:01

代码语言:javascript
复制
    <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;
        }
    }
票数 0
EN

Stack Overflow用户

发布于 2018-10-06 07:28:07

谢谢你的回复和指导,迈克。在你回复之前,我决定尝试一种非常类似的方法。受保护的void发送者(object Repeater1_ItemDataBound,RepeaterItemEventArgs e)

代码语言:javascript
复制
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

为空或为null,则页面崩溃。

代码语言:javascript
复制
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
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52655034

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档