在页面上显示/隐藏网格

时间:2015-12-09 01:11:09

标签: c# asp.net gridview webforms

对于一个用户,我需要显示不同的gridview,因此我的想法是创建两个网格并将它们隐藏起来,并在Page_Load()上显示基于用户ID的相应gridview。这是有效的,但它非常重复,因为2个网格非常相似。他们是更好的方法来达到这个目标还是更符合语法的方式?

进一步信息 - for everyone网格有16个字段
YouOnly网格共享相同的16个但是另外4个字段是唯一的区别

HTML (只是数据采样)

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <div id="TextTopOfPage" runat="server">This is the top of the page</div>
        <br />
        <div id="Alldiv" runat="server">
            <asp:GridView ID="ForAll" runat="server" visible="false"/>
        </div>
        <div id="YouOnlyDiv" runat="server">
            <asp:GridView ID="YouOnly" runat="server" Visible="false" />
        </div>
    </form>
</body>
</html>



C#

protected void Page_Load(object sender, EventArgs e)
{
    if (userid == "eac11") { this.YouOnly.Visible = true; }
    if (userid != "eac11") { this.ForAll.Visible = true; }
}

1 个答案:

答案 0 :(得分:0)

您需要绑定ASPX中所有20列的列定义。对于四个特殊列,请根据YouOnly属性更改列的可见性。您也可以使用OnDataBinding事件在后面的代码中执行此操作。