how to enable and disable button based on user role?

前端 未结 6 1834
予麋鹿
予麋鹿 2021-01-13 20:22

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

相关标签:
6条回答
  • 2021-01-13 21:01

    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

    0 讨论(0)
  • 2021-01-13 21:03

    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");
    
    0 讨论(0)
  • 2021-01-13 21:08

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

    button.Enabled = false;
    
    0 讨论(0)
  • 2021-01-13 21:13

    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() %>'
    
    0 讨论(0)
  • 2021-01-13 21:20
    if (HttpContext.Current.User.IsInRole("member"))
    {
      //enable/disable here
    }
    
    0 讨论(0)
  • 2021-01-13 21:25

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

    0 讨论(0)
提交回复
热议问题