在 Formview 中隐藏 ItemTemplate 控件

Hiding ItemTemplate Controls within Formview

目前,我的代码隐藏了 FormViewItemTemplate 中包含的某些 Panel(s),具体取决于用户角色。

当前解法:((Panel)FormView1.FindControl("pnlIsAdmin")).Visible = IsAdmin;

问题是在 Formview 完成之前,这段代码不能 运行 .Databind();

现在我对 FormViews 了解不多,但我肯定有办法在更好的地方隐藏控件,如上面的面板,而不依赖于 .Databind();(如页面加载) ??

感谢您提供任何信息。

我通常不喜欢混合我的代码隐藏页面和显示页面,但您可以将控件包装在一些服务器标记中:

<% if(isAdmin){ %> <asp:Panel ID="pnlIsAdmin" runat="server"></asp:Panel> <% } %>