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
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
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");
Either I'm missing something or the solution is simply:
button.Enabled = false;
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() %>'
if (HttpContext.Current.User.IsInRole("member"))
{
//enable/disable here
}
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));