how to enable and disable button based on user role?

本小妞迷上赌 提交于 2019-12-30 09:58:09

问题


I have a role called 'member' and another 'admin' in Asp.Net website.

I did before, that button should be visible or not and i am successful in that,but,i am not able to get the proper code(aspx.cs) to disable the button so that it may be in view but not at all accessible.

<asp:Button ID="Button4" runat="server" PostBackUrl="~/report.aspx" 
   Text="print in report format" Width="173px" 
   Enabled='<%# HttpContext.Current.User.IsInRole("Admin") %>' /> 

i want that whenever a member login then button "report" should be disabled for him.


回答1:


You have to set the Button.Enabled property value to according to the HttpContext.Current.User.IsInRole("admin") function returned value.

Either in html:

<Button ... Enabled='<%# HttpContext.Current.User.IsInRole("Admin") %>' ... >

Or in code behind:

Button.Enabled = HttpContext.Current.User.IsInRole("Admin");



回答2:


if (HttpContext.Current.User.IsInRole("member"))
{
  //enable/disable here
}



回答3:


In the Page_Load after checking for the role you may be able to set the IsEnabled for the Button to be False.

e.g. buttonLogin.Enabled = (IsUserInRole(Admin));




回答4:


Either I'm missing something or the solution is simply:

button.Enabled = false;



回答5:


I'm assuming you are using an ASP.NET button control - if you are then you need to set the Visible and Enabled button properties to false




回答6:


The primary problem you have here is the hash mark: <%# is used to identify a binding. Unless you're calling this in a gridview or a formview or something, this will not work. I would recommend setting it in the code behind as suggested by @Muhammad Akhtar, but if you're hell bent for leather on using the html side it should probably be:

Enabled='<%= HttpContext.Current.User.IsInRole("Admin").ToString() %>'


来源:https://stackoverflow.com/questions/5992172/how-to-enable-and-disable-button-based-on-user-role

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!