Ok if you google this you’ll get some solutions that say set the DefaultButton to ParentControlID$ButtonID
However, this didn’t work for me. I kept getting the same error no matter what I tried.
The DefaultButton of '<PanelID>' must be the ID of a control of type IButtonControl.
So I tried another approach that worked great.
On page load I found the Panel Control and found the button control and set the default button programmatically.
<asp:LoginView ID="LoginView1" runat="server">
<AnonymousTemplate>
<asp:Panel ID="pnlLogin" runat="server">
<telerik:RadTextBox ID="tbUsername" runat="server" EmptyMessage="Username" />
<telerik:RadTextBox ID="tbPassword" runat="server" EmptyMessage="Password" TextMode="Password" />
<div id="SignIn" style="position: relative; z-index: 1; float: right; bottom: 21px;">
<asp:LinkButton ID="lbSignIn" runat="server" Font-Bold="true" Font-Size="Small" Text="SIGN IN" OnClick="lbSignIn_Click" />
</div>
<div id="divLoginLinks" style="position:relative; clear:both">
<span class="GrayFooterFont"><asp:HyperLink ID="hlRegister" runat="server" Text="Register" NavigateUrl="~/Registration.aspx" /> | <asp:HyperLink ID="hlForgot" runat="server" Text="Forgot Password" NavigateUrl="~/ForgotPassword.aspx" /></span>
</div>
</asp:Panel>
</AnonymousTemplate>
<LoggedInTemplate>
<small><asp:Label ID="lblLoggedInUsername" runat="server" /> | <asp:LinkButton ID="lbSignOut" runat="server" Text="SIGN OUT" OnClick="lbSignOut_Click" /></small>
<asp:LinkButton ID="lbSignIn" runat="server" Font-Bold="true" Font-Size="Small" Text="SIGN IN" OnClick="lbSignIn_Click" CssClass="hidden" />
</LoggedInTemplate>
</asp:LoginView>
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'If User is not logged in do this
Dim pnlLogin As Panel
Dim lbSignIn As LinkButton
pnlLogin = CType(LoginView1.Controls(0).FindControl("pnlLogin"), Panel)
lbSignIn = CType(LoginView1.Controls(0).FindControl("lbSignIn"), LinkButton)
pnlLogin.DefaultButton = lbSignIn.ID
pnlLogin = Nothing
lbSignIn = Nothing
End Sub
I’m sure I could have just hardcoded the lblSignIn ID to the pnlLogin, but no idea why I didn’t.