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.
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");
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));
Either I'm missing something or the solution is simply:
button.Enabled = false;
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
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() %>'