我在Asp.Net网站上有一个名为'member'的角色和另一个'admin'。
我之前做过,那个按钮应该是可见的还是没有我在这方面很成功,但是,我无法获得正确的代码(aspx.cs)来禁用按钮,以便它可以在视图中而不是完全可以访问。
<asp:Button ID="Button4" runat="server" PostBackUrl="~/report.aspx"
Text="print in report format" Width="173px"
Enabled='<%# HttpContext.Current.User.IsInRole("Admin") %>' />
我希望无论何时成员登录,都应该禁用“报告”按钮。
答案 0 :(得分:6)
if (HttpContext.Current.User.IsInRole("member"))
{
//enable/disable here
}
答案 1 :(得分:6)
您必须根据Button.Enabled
函数返回值设置HttpContext.Current.User.IsInRole("admin")
属性值。
在html中:
<Button ... Enabled='<%# HttpContext.Current.User.IsInRole("Admin") %>' ... >
或代码背后:
Button.Enabled = HttpContext.Current.User.IsInRole("Admin");
答案 2 :(得分:3)
在检查角色后的Page_Load中,您可以将Button的IsEnabled设置为False。
e.g。 buttonLogin.Enabled =(IsUserInRole(Admin));
答案 3 :(得分:2)
要么我缺少某些东西,要么解决方案就是:
button.Enabled = false;
答案 4 :(得分:1)
我假设您使用的是ASP.NET按钮控件 - 如果您需要将Visible
和Enabled
按钮属性设置为false
答案 5 :(得分:1)
这里的主要问题是哈希标记:<%#
用于标识绑定。除非你在gridview或formview或其他东西中调用它,否则这将无效。我建议按照@Muhammad Akhtar的建议在后面的代码中设置它,但是如果你在使用html方面你真的很喜欢皮革它应该是:
Enabled='<%= HttpContext.Current.User.IsInRole("Admin").ToString() %>'