Object reference not set error when referencing login layout template
Trying to customize the login widget with a custom layout template but I keep getting an object referenence not set error. Message: HandlingInstanceID: c991f5d4-542b-4b58-a438-254e8df901a7 An exception of type 'System.NullReferenceException' occurred and was caught. ----------------------------------------------------------------------------- 04/25/2012 13:33:41 Type : System.NullReferenceException, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 Message : Object reference not set to an instance of an object. Source : Telerik.Sitefinity Help link : Data : System.Collections.ListDictionaryInternal TargetSite : Void OnInit(System.EventArgs) Stack Trace : at Telerik.Sitefinity.Security.Web.UI.LoginForm.OnInit(EventArgs e) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Control.InitRecursive(Control namingContainer) at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
What am I missing? Here's the error from the log:
And here's my code:
<sf:LoginControl ID="LoginControl1" runat="server" LayoutTemplatePath="~/UserControls/Master/Layouts/Login.ascx" /><%@ Control Language="C#" %><%@ Register Assembly="Telerik.Sitefinity" Namespace="Telerik.Sitefinity.Web.UI" TagPrefix="sitefinity" %><%@ Register Assembly="Telerik.Web.UI" Namespace="Telerik.Web.UI" TagPrefix="telerik" %><sitefinity:ClientLabelManager id="clientLabelManager" runat="server"> <Labels> <sitefinity:ClientLabel ClassId="Labels" Key="LogoutUserConfirm" runat="server" /> <sitefinity:ClientLabel ClassId="Labels" Key="UserNotSelected" runat="server" /> <sitefinity:ClientLabel ClassId="Labels" Key="SelfLogoutUserConfirm" runat="server" /> </Labels></sitefinity:ClientLabelManager><fieldset class="sfLoginWrp"> <asp:Panel ID="loginPanel" runat="server"> <asp:Label runat="server" ID="FailureText" EnableViewState="False" Visible="false" CssClass="sfFailure" /> <ol class="sfLoginFieldsWrp"> <li class="sfLoginField"> <asp:Label ID="UserNameLabel" Text="<%$ Resources:Labels, Username %>" AssociatedControlID="UserName" runat="server" CssClass="sfTxtLbl" /> <asp:TextBox ID="UserName" AccessKey="u" runat="server" CssClass="sfTxt" /> <asp:RequiredFieldValidator ID="UserNameRequired" Display="Dynamic" ControlToValidate="UserName" ValidationGroup="LoginBox" ErrorMessage="<%$ Resources:Labels, UsernameCannotBeEmpty %>" CssClass="sfValidator" runat="server"> <strong><asp:Literal ID="UserNameRequiredLiteral" runat="server" Text="<%$ Resources:Labels, UsernameCannotBeEmpty %>" /></strong> </asp:RequiredFieldValidator> </li> <li class="sfLoginField"> <asp:Label ID="PasswordLabel" Text="<%$ Resources:Labels, Password %>" AssociatedControlID="Password" runat="server" CssClass="sfTxtLbl" /> <asp:TextBox ID="Password" TextMode="Password" AccessKey="p" runat="server" CssClass="sfTxt" /> <asp:RequiredFieldValidator ID="PasswordRequired" Display="Dynamic" ControlToValidate="Password" ValidationGroup="LoginBox" ErrorMessage="<%$ Resources:Labels, PasswordCannotBeEmpty %>" CssClass="sfValidator" runat="server"> <strong><asp:Literal ID="PasswordRequiredLiteral" runat="server" Text="<%$ Resources:Labels, PasswordCannotBeEmpty %>" /></strong> </asp:RequiredFieldValidator> </li> <li class="sfLoginField sfCheckBoxWrapper" id="rememberMeContainer" runat="server"> <asp:CheckBox runat="server" ID="RememberMe" /> <asp:Label ID="RememberMeTextLabel" Text="<%$ Resources:Labels, RememberMe %>" AssociatedControlID="RememberMe" runat="server" /> </li> </ol> <div class="sfSubmitBtn"> <asp:LinkButton ID="LoginButton" CommandName="Login" CssClass="sfLinkBtn sfSave" ValidationGroup="LoginBox" runat="server"> <strong class="sfLinkBtnIn"><asp:Literal ID="LoginButtonLiteral" runat="server" Text="<%$ Resources:Labels, LoginCaps %>"></asp:Literal></strong> </asp:LinkButton> <!-- do not remove this button. It is used for the default form submit (pressing enter) --> <div style="display: none;"> <asp:Button ID="hiddenSubmitButton" runat="server" CommandName="Login" ValidationGroup="LoginBox" /> </div> </div> </asp:Panel></fieldset>Nevermind. I was using PublicControls\LoginControl.ascx from WidgetTemplates.zip in the SDK as a starter and I left out some sections.