对于一个用户,我需要显示不同的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; }
}
答案 0 :(得分:0)
您需要绑定ASPX中所有20列的列定义。对于四个特殊列,请根据YouOnly属性更改列的可见性。您也可以使用OnDataBinding事件在后面的代码中执行此操作。