2012-05-10 54 views
0

我看了關於這一議題的其他問題,但不能得到解決工作,這裏是我從對方的回答有:如何使有條件地顯示基於用戶角色asp.net控制?

<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

設置可見,那麼你也可以調試'User.IsInRole(「員工「)'。您是否使用自定義角色提供程序?你用什麼會員提供商(FE'SqlMembershipProvider')?告訴我們你的web.config。 –

回答

0

您正在使用的服務器性能的服務器調用。這將無法正常工作,正常使用<%#%>標籤設置HTML或JavaScript數據,而不是服務器的數據。
您可以設置樣式屬性(這是一個html屬性),或者你可以這樣設置上的Page_Load的可視性:從代碼隱藏

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

是的,效果很好。 – Bill