如何根据用户角色有条件地显示asp.net控件?

时间:2012-05-10 12:59:09

标签: asp.net role

我查看了有关此主题的其他问题,但无法使解决方案起作用,这是我从其他答案得到的:

<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>

我只使用用户角色登录,但两个面板仍然可见。我该如何解决这个问题?

我没有收到任何错误消息,它只是不起作用。

1 个答案:

答案 0 :(得分:0)

您正在服务器属性上使用服务器调用。这不起作用,通常你使用&lt;%#%&gt;用于设置html或javascript数据的标签,而不是服务器数据。
你可以设置Style属性(这是一个html属性),也可以在page_load上设置visiblity,如下所示:

userOptionsPan.Visible = user.IsInRole("User");