Link to home
Start Free TrialLog in
Avatar of jumpseatnews
jumpseatnews

asked on

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>


ASKER CERTIFIED SOLUTION
Avatar of irps20001
irps20001
Flag of India image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of jumpseatnews
jumpseatnews

ASKER

Hey Rana!

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


Happy Programming!

Christopher