Jag fattar inte vad jag har gjort för fel här. Linkbutten ligger i en grid som heter grdGuestBook. Hej Magnus Tackar för svaret! Hej igen OM den inloggade är i rollen "admin" så ska det väl returneras true om inte så returneras false Tjoho!FindControl?
Är jag inloggad får jag fel på true och är jag inte inloggad får jag fel på false. felet jag får är
"CS0030: Cannot convert type 'bool' to 'System.Web.UI.WebControls.LinkButton'"
det fattar jag inte mycket av?
<code>
LinkButton lbDelete = (LinkButton)grdGuestBook.NamingContainer.FindControl("lbDelete");
if (User.IsInRole("admin"))
lbDelete.Visible = true;
else
lbDelete.Visible = false;
</code>Sv: FindControl?
Inte 100% på varför du får just det fel meddelandet, kan kanske ha att göra med att du inte specifierar vilken rad den skall leta efter din linkbutton på. Men du skulle kunna göra så här istället
<asp:LinkButton ID="lbn1" runat="server" Visible='<%= User.IsInRole("Admin").ToString() %>' />
vet att det är skriker lite spagetti kod av det, men jag tycker det är en eligant lösning med tanke på hur många rader kod du måste skriva i koden.Sv:FindControl?
Det fungerar inte heller,jaghar denna kod
<asp:LinkButton ID="lbDelete" runat="server" Visible='<%= User.IsInRole("admin").ToString() %>' Text="Radera" />
Och får följande fel:
Parsningsfelmeddelande: Det gick inte att skapa ett objekt av typen System.Boolean från den sträng som innehåller <%= User.IsInRole("admin").ToString() %> för egenskapen Visible.Sv: FindControl?
Pröva en sak inte säker på att den fungerar, byt ut ditt = tecken till ett #. Så kanske det fungerar tror inte du behöver ha ToString() methoden då :)
<asp:LinkButton ID="lbDelete" runat="server" Visible='<%# User.IsInRole("admin") %>' Text="Radera" />Sv:FindControl?
Sv: FindControl?
Detta funkade:
Visible='<%# User.IsInRole("admin") %>'
Tackar och bockar för hjälpen.