Cast exception i UI control?
Jeg har lidt problemer med at sætte en tekst på en label i et loginview. Jeg vil når brugeren er logget ind sætte teksten på en label til brugerens navn som hentes i DB. Men problemet er at få fat i den label på UI som skal vise navnet. Når jeg forsøger at hente den label med linien:Label l = (Label)LoginView1.FindControl("labelName");
får jeg følgende Cast exception:
System.InvalidCastException: Unable to cast object of type 'System.Web.UI.HtmlControls.HtmlGenericControl' to type 'System.Web.UI.WebControls.Label'.
Her er hele koden:
<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" %>
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (Profile.FulName != String.Empty)
{
Label l = (Label)LoginView1.FindControl("labelName");
l.Text = Profile.FulName;
}
}
</script>
<asp:Content ID="Content1" runat="server" ContentPlaceHolderID="ContentPlaceHolder1">
<asp:LoginView ID="LoginView1" runat="server">
<LoggedInTemplate>
Welcome <label id="labelName" runat="server"></label>
</LoggedInTemplate>
<AnonymousTemplate>
<asp:Login ID="Login1" runat="server" DestinationPageUrl="Login.aspx">
</asp:Login>
</AnonymousTemplate>
</asp:LoginView>
</asp:Content>