Strange ASP.NET Submit Button Behavior

Hi Experts,

I'm having a lot of trouble with this one.

A simple textbox control and a button control.  If a visitor types a number into the textbox, and then clicks the 'submit' button with the mouse, the onclick event runs a subroutine that does a membership check.  All is well.

However, if the person simply types their member number into the text box and presses ENTER, the page appears to post back but no data is processed.

Any idea what is going on?  This is driving me NUTS!!

Here's the complete code.  Any help would be appreciated.

<%@ Page Language="VB" EnableViewState="false" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<%@ Import Namespace="System.Configuration" %>
<%@ Register Assembly="PeterBlum.VAM" Namespace="PeterBlum.VAM" TagPrefix="VAM" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<script runat="server">
   
    Protected Sub btnCheckAccount_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim MyConnection As SqlConnection
        Dim MyCommand As SqlCommand
        Dim MyReader As SqlDataReader
        Dim IDParam As SqlParameter
        Dim CheckIfActive As Boolean
        Dim CheckEmailAddress As String
        MyConnection = New SqlConnection(ConfigurationManager.AppSettings("MM_CONNECTION_STRING_APDTMain"))
        MyCommand = New SqlCommand()
        MyCommand.CommandText = "SELECT * from vw_MemberStatusCheck WHERE Account = @ID"
        MyCommand.CommandType = CommandType.Text
        MyCommand.Connection = MyConnection
        IDParam = New SqlParameter()
        IDParam.ParameterName = "@ID"
        IDParam.Value = txtAccount.Text
        MyCommand.Parameters.Add(IDParam)
        MyCommand.Connection.Open()
        MyReader = MyCommand.ExecuteReader(CommandBehavior.CloseConnection)
        pnlNoRecords.Visible = True
        pnlActive.Visible = False
        pnlExpired.Visible = False
        While MyReader.Read
            txtDateExpire.Text = MyReader("DateExpire").ToString()
            txtFirstName.Text = MyReader("FirstName")
            txtFirstNameActive.Text = MyReader("FirstName")
            txtMemberType.Text = MyReader("MemberType")
            cbxActive.Checked = MyReader("Active")
            txtAccount.Text = MyReader("Account")
            CheckIfActive = MyReader("InitialSuccessPmt")
            CheckEmailAddress = MyReader("Email")
            If cbxActive.Checked = True Then
                pnlActive.Visible = True
                pnlExpired.Visible = False
                pnlNoRecords.Visible = False
            Else

            End If
            If cbxActive.Checked = False Then
                pnlExpired.Visible = True
                pnlActive.Visible = False
                pnlNoRecords.Visible = False
            Else
            End If
            If CheckIfActive = True Then
                pnlNotYetActive.Visible = True
                pnlSendEmail.Visible = True
                pnlExpired.Visible = False
                pnlActive.Visible = False
                pnlNoRecords.Visible = False
            End If
        End While
        MyCommand.Dispose()
        MyConnection.Dispose()
    End Sub
</script><title>Forgot Your Password?</title>
<!--#include virtual="/assets/inc/cmn/headcnt.inc" -->
<style type="text/css" media="all">
table.tablelistnb td.lbl{padding-right:0;}
table.tablelistnb{margin-bottom:-5px;margin-top:7px;margin-left:3px;}
#btnLogin{font-size:115%;font-weight:bold;}
input.errorbackground{background:#FFF9E1;}
#bkground{padding-bottom:7px;margin-top:10px;margin-bottom:10px;border:1px solid #ccc;background:#F7F7FA;width:350px;}
</style>
<script type="text/JavaScript" src="/assets/js/popup.js"></script>
</head>
<body id="twocol">
<h1 Membership Status</h1>
<p>Enter your Member Number in the box below to check your APDT Membership status.</p>
<form id="frmLogin" style="margin-bottom: 0.5em" runat="server">
<table border="0" cellpadding="0" cellspacing="0" class="tablelistnb">
<tr>
<td nowrap="nowrap" class="lbl" style="text-align:right"><label for="txtUsername">APDT Member #</label></td>
<td width="100%"><asp:TextBox ID="txtAccount" runat="server" Size="6" MaxLength="6" TabIndex="1" ToolTip="Type your APDT Membership Number in this box." /> <span class="small"><VAM:DataTypeCheckValidator ID="DataTypeCheckValidator1" runat="server" ControlIDToEvaluate="txtAccount"
        DataType="Integer" ErrorFormatter="Text (class: TextErrorFormatter)" ErrorMessage="Numbers only, please.">
        <ErrorFormatterContainer>
            <VAM:TextErrorFormatter Display="Dynamic" ForeColor="Red" />
        </ErrorFormatterContainer>
    </VAM:DataTypeCheckValidator>
    <VAM:RequiredTextValidator ID="RequiredTextValidator1" runat="server" ControlIDToEvaluate="txtAccount"
        ErrorFormatter="Red Error Message (class: TextErrorFormatter)" ErrorMessage="Enter Member Number.">
        <ErrorFormatterContainer>
            <VAM:TextErrorFormatter Display="Dynamic" Font-Bold="False" Font-Italic="False" Font-Overline="False"
                Font-Strikeout="False" Font-Underline="False" ForeColor="Red" Name="Red Error Message" />
        </ErrorFormatterContainer>
    </VAM:RequiredTextValidator>
</span>
</td>
</tr>

<tr>
<td colspan="2" class="textalgnctr">
 <asp:Button ID="btnCheckAccount" runat="server" Text="Check My Status" OnClick="btnCheckAccount_Click" /></td>
</tr>
</table>
</form>

<asp:Panel ID="pnlExpired" runat="server" Visible="false">
<p><asp:Literal ID="txtFirstName" runat="server"></asp:Literal>, it seems that your membership expired on <asp:Literal ID="txtDateExpire" runat="server"></asp:Literal>.&nbsp; Renew now &gt;</p>
</asp:Panel>
<asp:Panel ID="pnlActive" runat="server" Visible="false"><p> <asp:Literal ID="txtFirstNameActive" runat="server"></asp:Literal>, you are an active: <asp:Literal ID="txtMemberType" runat="server"></asp:Literal>.</p>

<asp:Panel ID="pnlSendEmail" runat="server" Visible="false">    
<p>Did you need your password sent to your email address?  If so, you may do so now:</p>
<p><asp:Button ID="btnSendEmail" runat="server" Text="Send My Password" /></p>
</asp:Panel>
</asp:Panel>

<asp:CheckBox ID="cbxActive" runat="server" Visible="false"/>
 <asp:Panel ID="pnlNoRecords" runat="server" Visible="false">

<p> No Records Found.  Please enter a valid Member Number.</p></asp:Panel>
    <asp:Panel ID="pnlNotYetActive" runat="server" Visible="false">
<p>Be patient, you are not yet active.</p>
</asp:Panel>

</body>
</html>


jumpseatnewsAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

irps20001Commented:
Change your Body tag to the following code and make sure your btnCheckAccount's CausesValidation Property is set to TRUE
[CODE]
<body id="twocol" onkeydown="if(event.keyCode == 13){document.getElementById('btnCheckAccount').click();}">
[/CODE]

HTH
Happy Programming
Rana
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
jumpseatnewsAuthor Commented:
Hey Rana!

Thank you.  That's exactly what I was looking for.  Problem solved!


Happy Programming!

Christopher
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.