我查看了有关此主题的其他问题,但无法使解决方案起作用,这是我从其他答案得到的:
<asp:Panel ID="userOptionsPan" runat="server" Visible='<%# User.IsInRole("User") %>'>
User options pan test
</asp:Panel>
<asp:Panel ID="employeeOptionsPan" runat="server" Visible='<%# User.IsInRole("Employee") %>'>
Employee options pan test
</asp:Panel>
我只使用用户角色登录,但两个面板仍然可见。我该如何解决这个问题?
我没有收到任何错误消息,它只是不起作用。
答案 0 :(得分:0)
您正在服务器属性上使用服务器调用。这不起作用,通常你使用&lt;%#%&gt;用于设置html或javascript数据的标签,而不是服务器数据。
你可以设置Style属性(这是一个html属性),也可以在page_load上设置visiblity,如下所示:
userOptionsPan.Visible = user.IsInRole("User");