tcadieux
05-28-2008, 08:34 AM
Folks, my first attempt at a .Net application. I am buildng a Subscription application and have built a rough draft of the 1st page. It works but i find it looks a bit messy. I was wondering if I could get some tips to clean it up or make it more efficient?
TIA
<%@ Page Language="VB" ClientTarget="downlevel" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
Const strCheckMarkHtml As String = "<img src=""form_handler.gif"" border=""0"" width=""25"" height=""25"" />"
Public myConnectionString As String
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
myConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db1.mdb") & ";"
lblStatus.Visible = False
validFName.ErrorMessage = strCheckMarkHtml
validLName.ErrorMessage = strCheckMarkHtml
validEmailRequired.ErrorMessage = strCheckMarkHtml
validEmailRegExp.ErrorMessage = strCheckMarkHtml
'validAddress.ErrorMessage = strCheckMarkHtml
' If this is first run set page number to 1
If Not Page.IsPostBack Then
PageNumber.Text = 1
End If
ShowThePage()
End Sub
Sub btnBack_OnClick(sender As Object, e As EventArgs)
PageNumber.Text = PageNumber.Text - 1
ShowThePage()
End Sub
Sub btnNext_OnClick(sender As Object, e As EventArgs)
Dim strLabelText As StringBuilder = new StringBuilder()
If Page.IsValid Then
If PageNumber.Text = "1" Then
CheckUserExists()
Else
PageNumber.Text = PageNumber.Text + 1
ShowThePage()
End If
Else
strLabelText.Append("I'm sorry but your form wasn't filled ")
strLabelText.Append("out correctly. <br/>Please correct the ")
strLabelText.Append("fields indicated by the check marks.")
lblStatus.Text = strLabelText.ToString()
lblStatus.Visible = True
End If
End Sub
Sub ShowThePage()
' Set default state of panels and buttons
panelUserInfo.Visible = False
panelUnits.Visible = False
panelConfirmation.Visible = False
panelUserExists.Visible = False
btnBack.Visible = True
btnNext.Visible = True
' Modify default state depending on current page
Select Case PageNumber.Text
Case 1
panelUserInfo.Visible = True
btnBack.Visible = False
Fill_Dropdowns()
Case 2
panelUnits.Visible = True
btnNext.Text = "Finish"
lbDist_list.Visible = False
Case 3
btnBack.Visible = False
btnNext.Visible = False
Dim strDistList_Text As String
Dim strDistList_Values As String
For i As Integer = 0 To lbDist_list.Items.Count - 1
If lbDist_list.Items(i).Selected = True Then
'Create a concatenated string delimited with semicolon
strDistList_Values &= lbDist_list.Items(i).Value & ";"
strDistList_Text &= lbDist_list.Items(i).Text & "<BR />"
End If
Next 'i
litDistLists.Text = strDistList_Text
litFName.Text = StrConv(txtFName.Text, vbProperCase)
litLName.Text = StrConv(txtLName.Text, vbProperCase)
litEmail.Text = txtEmail.Text
AddNewUser()
panelConfirmation.Visible = True
End Select
End Sub
Sub Fill_Dropdowns()
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataReader As OleDbDataReader
Dim strSQL As String
' Create connection and set connection string
objConnection = New OleDbConnection(myConnectionString)
' Build our SQL query
strSQL = "SELECT groups_ID, " _
& "groups_name " _
& "FROM tblGroups Order by groups_name;"
' Create a new command object that uses our connection
' and set the text of the command to be executed
objCommand = New OleDbCommand(strSQL, objConnection)
objConnection.Open()
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
' We've got our data... now connect it to our list:
ddGroup_names.DataSource = objDataReader
ddGroup_names.DataValueField = "groups_id"
ddGroup_names.DataTextField = "groups_name"
If Not Me.IsPostBack Then
ddGroup_names.DataBind()
End If
objConnection.Close()
End Sub
Sub Pop_ddDistList(Sender As Object, e As System.Eventargs)
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataReader As OleDbDataReader
Dim strSQL As String
Dim strDist_list As StringBuilder = new StringBuilder()
objConnection = New OleDbConnection(myConnectionString)
' Build our SQL query
strSQL = "SELECT tblGroups.groups_name, tblGroups.groups_id, tblDistList.distList_name, tblDistList.distList_id "
strSQL = strSQL & " FROM tblGroups INNER JOIN tblDistList ON tblGroups.groups_id = tblDistList.Groups_id"
strSQL = strSQL & " WHERE (((tblGroups.groups_id)="& ddGroup_names.SelectedItem.Value &"));"
objCommand = New OleDbCommand(strSQL, objConnection)
objConnection.Open()
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
lbDist_list.DataSource = objDataReader
lbDist_list.DataValueField = "distList_id"
lbDist_list.DataTextField = "distList_name"
lbDist_list.DataBind()
lbDist_list.Visible=True
objConnection.Close()
strDist_list.Append("You may Subscribe to Multiple Distribution Lists")
strDist_list.Append(" by holding down the <strong>CTRL</strong> key")
strDist_list.Append(" and clicking on the name of the Distribution List.")
lblDist_list.Text = strDist_list.ToString()
lblDist_list.Visible = True
End Sub
Sub CheckUserExists()
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataReader As OleDbDataReader
Dim strSQL As String
objConnection = New OleDbConnection(myConnectionString)
strSQL = "SELECT tblNames.Fname, tblNames.Lname, tblNames.email"
strSQL = strSQL & " FROM tblNames"
strSQL = strSQL & " WHERE "
strSQL = strSQL & " tblNames.Fname='" & txtFName.Text & "'"
strSQL = strSQL & " AND tblNames.Lname='" & txtLName.Text & "'"
strSQL = strSQL & " AND tblNames.email='" & txtEmail.Text & "';"
objCommand = New OleDbCommand(strSQL, objConnection)
objConnection.Open()
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
litFNameExists.Text = StrConv(txtFName.Text, vbProperCase)
litLNameExists.Text = StrConv(txtLName.Text, vbProperCase)
litEmailExists.Text = txtEmail.Text
If objDataReader.HasRows = True Then
With Me
.panelUserExists.Visible = True
.panelUserInfo.Visible = False
.panelUnits.Visible = False
.panelConfirmation.Visible = False
End With
Else
PageNumber.Text = PageNumber.Text + 1
ShowThePage()
End If
objConnection.Close()
End Sub
Sub AddNewUser()
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim strSQL As String
strSQL = ""
strSQL = strSQL & "INSERT INTO tblNames "
strSQL = strSQL & "(Fname, Lname, email, isConfirmed) " & vbCrLf
strSQL = strSQL & "VALUES ("
strSQL = strSQL & "'" & txtFName.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & txtLName.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & txtEmail.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "False"
strSQL = strSQL & ");"
objConnection = New OleDbConnection(myConnectionString)
objCommand = New OleDbCommand(strSQL, objConnection)
objCommand.Connection.Open()
objCommand.ExecuteNonQuery()
objCommand.Connection.Close()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Subscription</title>
</head>
<body>
<form runat="server" action="wizard.aspx">
<p>
<asp:Literal id="PageNumber" runat="server" Visible = "False"/> </p>
<asp:Label ID="lblStatus" runat="server"> </asp:Label>
<asp:panel id="panelUserInfo" runat="server">
<asp:Panel id="divFormSection" runat="server">
<table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="179" align="right"> </td>
<td width="10" rowspan="13"> </td>
<td width="500"> </td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
</tr>
<tr>
<td align="right" valign="top"><b>First Name:</b></td>
<td><asp:TextBox id="txtFName" runat="server" />
<asp:RequiredFieldValidator runat="server" id="validFName" ControlToValidate="txtFName"
display="Dynamic" /> </td>
</tr>
<tr>
<td align="right" valign="top"><strong>Last Name</strong> </td>
<td><asp:TextBox id="txtLName" runat="server" />
<asp:RequiredFieldValidator runat="server" id="validLName" ControlToValidate="txtLName"
display="Dynamic" /> </td>
</tr>
<tr>
<td align="right" valign="top"><b>Email:</b></td>
<td><asp:TextBox id="txtEmail" runat="server" />
<asp:RequiredFieldValidator runat="server" id="validEmailRequired" ControlToValidate="txtEmail"
display="Dynamic" />
<asp:RegularExpressionValidator runat="server"
id="validEmailRegExp" ControlToValidate="txtEmail" ValidationExpression="^[\w-]+@[\w-]+\.(com|net|org|edu|mil|int)$"
Display="Dynamic" /> </td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
</tr>
</table>
</asp:Panel>
</asp:panel>
<asp:panel id="panelUserExists" runat="server">
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><span class="style1">Error!</span></td>
</tr>
<tr>
<td>A entry already exists in our database for
<asp:Literal id="litFNameExists" runat="server" />
<asp:Literal id="litLNameExists" runat="server" />
(<asp:Literal id="litEmailExists" runat="server" />) </td>
</tr>
</table>
</asp:panel>
<asp:panel id="panelUnits" runat="server">
<table width="50%" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td width="53%"><div align="right">Which Unit are you Subscribing to?</div></td>
<td width="47%"><asp:DropDownList id="ddGroup_names" runat="server" OnSelectedIndexChanged="Pop_ddDistList" AutoPostBack="true">
<asp:ListItem value="0">Pick One</asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="right">
<asp:Label ID="lblDist_list" runat="server"> </asp:Label>
</div></td>
<td><asp:Listbox id="lbDist_list" runat="server" SelectionMode="Multiple"></asp:Listbox></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</asp:panel>
<asp:panel id="panelConfirmation" runat="server" >
<table width="400" border="1" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2">
Thank you!<br />
<br />
You should receive an e-mail confirming your e-mail adress shortly.
<br />
<br />
Once your request has been confirmed by an Administrator, you will be sent another
notification by e-mail.<br />
</td>
</tr>
<tr>
<td width="30%"> </td>
<td width="70%"> </td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">First Name:</div></td>
<td width="70%"><asp:Literal id="litFName" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Last Name:</div></td>
<td width="70%"><asp:Literal id="litLName" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Email</div></td>
<td width="70%"><asp:Literal id="litEmail" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Address</div></td>
<td width="70%"><asp:Literal id="litAddress" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Dist. Lists</div></td>
<td width="70%"><asp:Literal id="litDistLists" runat="server" /></td>
</tr>
</table>
</asp:panel>
<div align="center">
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="left"><asp:Button ID="btnBack" runat="server" Text= "< Back" OnClick = "btnBack_OnClick"/>
</div></td>
<td> <div align="right"><asp:Button ID="btnNext" runat="server" Text = "Next >>" OnClick = "btnNext_OnClick"/>
</div></td>
</tr>
</table>
</div>
</form>
<hr />
</body>
</html>
TIA
<%@ Page Language="VB" ClientTarget="downlevel" %>
<%@ Import Namespace="System.Text" %>
<%@ Import Namespace = "System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>
<script runat="server">
Const strCheckMarkHtml As String = "<img src=""form_handler.gif"" border=""0"" width=""25"" height=""25"" />"
Public myConnectionString As String
Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
myConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("db1.mdb") & ";"
lblStatus.Visible = False
validFName.ErrorMessage = strCheckMarkHtml
validLName.ErrorMessage = strCheckMarkHtml
validEmailRequired.ErrorMessage = strCheckMarkHtml
validEmailRegExp.ErrorMessage = strCheckMarkHtml
'validAddress.ErrorMessage = strCheckMarkHtml
' If this is first run set page number to 1
If Not Page.IsPostBack Then
PageNumber.Text = 1
End If
ShowThePage()
End Sub
Sub btnBack_OnClick(sender As Object, e As EventArgs)
PageNumber.Text = PageNumber.Text - 1
ShowThePage()
End Sub
Sub btnNext_OnClick(sender As Object, e As EventArgs)
Dim strLabelText As StringBuilder = new StringBuilder()
If Page.IsValid Then
If PageNumber.Text = "1" Then
CheckUserExists()
Else
PageNumber.Text = PageNumber.Text + 1
ShowThePage()
End If
Else
strLabelText.Append("I'm sorry but your form wasn't filled ")
strLabelText.Append("out correctly. <br/>Please correct the ")
strLabelText.Append("fields indicated by the check marks.")
lblStatus.Text = strLabelText.ToString()
lblStatus.Visible = True
End If
End Sub
Sub ShowThePage()
' Set default state of panels and buttons
panelUserInfo.Visible = False
panelUnits.Visible = False
panelConfirmation.Visible = False
panelUserExists.Visible = False
btnBack.Visible = True
btnNext.Visible = True
' Modify default state depending on current page
Select Case PageNumber.Text
Case 1
panelUserInfo.Visible = True
btnBack.Visible = False
Fill_Dropdowns()
Case 2
panelUnits.Visible = True
btnNext.Text = "Finish"
lbDist_list.Visible = False
Case 3
btnBack.Visible = False
btnNext.Visible = False
Dim strDistList_Text As String
Dim strDistList_Values As String
For i As Integer = 0 To lbDist_list.Items.Count - 1
If lbDist_list.Items(i).Selected = True Then
'Create a concatenated string delimited with semicolon
strDistList_Values &= lbDist_list.Items(i).Value & ";"
strDistList_Text &= lbDist_list.Items(i).Text & "<BR />"
End If
Next 'i
litDistLists.Text = strDistList_Text
litFName.Text = StrConv(txtFName.Text, vbProperCase)
litLName.Text = StrConv(txtLName.Text, vbProperCase)
litEmail.Text = txtEmail.Text
AddNewUser()
panelConfirmation.Visible = True
End Select
End Sub
Sub Fill_Dropdowns()
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataReader As OleDbDataReader
Dim strSQL As String
' Create connection and set connection string
objConnection = New OleDbConnection(myConnectionString)
' Build our SQL query
strSQL = "SELECT groups_ID, " _
& "groups_name " _
& "FROM tblGroups Order by groups_name;"
' Create a new command object that uses our connection
' and set the text of the command to be executed
objCommand = New OleDbCommand(strSQL, objConnection)
objConnection.Open()
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
' We've got our data... now connect it to our list:
ddGroup_names.DataSource = objDataReader
ddGroup_names.DataValueField = "groups_id"
ddGroup_names.DataTextField = "groups_name"
If Not Me.IsPostBack Then
ddGroup_names.DataBind()
End If
objConnection.Close()
End Sub
Sub Pop_ddDistList(Sender As Object, e As System.Eventargs)
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataReader As OleDbDataReader
Dim strSQL As String
Dim strDist_list As StringBuilder = new StringBuilder()
objConnection = New OleDbConnection(myConnectionString)
' Build our SQL query
strSQL = "SELECT tblGroups.groups_name, tblGroups.groups_id, tblDistList.distList_name, tblDistList.distList_id "
strSQL = strSQL & " FROM tblGroups INNER JOIN tblDistList ON tblGroups.groups_id = tblDistList.Groups_id"
strSQL = strSQL & " WHERE (((tblGroups.groups_id)="& ddGroup_names.SelectedItem.Value &"));"
objCommand = New OleDbCommand(strSQL, objConnection)
objConnection.Open()
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
lbDist_list.DataSource = objDataReader
lbDist_list.DataValueField = "distList_id"
lbDist_list.DataTextField = "distList_name"
lbDist_list.DataBind()
lbDist_list.Visible=True
objConnection.Close()
strDist_list.Append("You may Subscribe to Multiple Distribution Lists")
strDist_list.Append(" by holding down the <strong>CTRL</strong> key")
strDist_list.Append(" and clicking on the name of the Distribution List.")
lblDist_list.Text = strDist_list.ToString()
lblDist_list.Visible = True
End Sub
Sub CheckUserExists()
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim objDataReader As OleDbDataReader
Dim strSQL As String
objConnection = New OleDbConnection(myConnectionString)
strSQL = "SELECT tblNames.Fname, tblNames.Lname, tblNames.email"
strSQL = strSQL & " FROM tblNames"
strSQL = strSQL & " WHERE "
strSQL = strSQL & " tblNames.Fname='" & txtFName.Text & "'"
strSQL = strSQL & " AND tblNames.Lname='" & txtLName.Text & "'"
strSQL = strSQL & " AND tblNames.email='" & txtEmail.Text & "';"
objCommand = New OleDbCommand(strSQL, objConnection)
objConnection.Open()
objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection)
litFNameExists.Text = StrConv(txtFName.Text, vbProperCase)
litLNameExists.Text = StrConv(txtLName.Text, vbProperCase)
litEmailExists.Text = txtEmail.Text
If objDataReader.HasRows = True Then
With Me
.panelUserExists.Visible = True
.panelUserInfo.Visible = False
.panelUnits.Visible = False
.panelConfirmation.Visible = False
End With
Else
PageNumber.Text = PageNumber.Text + 1
ShowThePage()
End If
objConnection.Close()
End Sub
Sub AddNewUser()
Dim objConnection As OleDbConnection
Dim objCommand As OleDbCommand
Dim strSQL As String
strSQL = ""
strSQL = strSQL & "INSERT INTO tblNames "
strSQL = strSQL & "(Fname, Lname, email, isConfirmed) " & vbCrLf
strSQL = strSQL & "VALUES ("
strSQL = strSQL & "'" & txtFName.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & txtLName.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "'" & txtEmail.Text & "'"
strSQL = strSQL & ", "
strSQL = strSQL & "False"
strSQL = strSQL & ");"
objConnection = New OleDbConnection(myConnectionString)
objCommand = New OleDbCommand(strSQL, objConnection)
objCommand.Connection.Open()
objCommand.ExecuteNonQuery()
objCommand.Connection.Close()
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Subscription</title>
</head>
<body>
<form runat="server" action="wizard.aspx">
<p>
<asp:Literal id="PageNumber" runat="server" Visible = "False"/> </p>
<asp:Label ID="lblStatus" runat="server"> </asp:Label>
<asp:panel id="panelUserInfo" runat="server">
<asp:Panel id="divFormSection" runat="server">
<table border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="179" align="right"> </td>
<td width="10" rowspan="13"> </td>
<td width="500"> </td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
</tr>
<tr>
<td align="right" valign="top"><b>First Name:</b></td>
<td><asp:TextBox id="txtFName" runat="server" />
<asp:RequiredFieldValidator runat="server" id="validFName" ControlToValidate="txtFName"
display="Dynamic" /> </td>
</tr>
<tr>
<td align="right" valign="top"><strong>Last Name</strong> </td>
<td><asp:TextBox id="txtLName" runat="server" />
<asp:RequiredFieldValidator runat="server" id="validLName" ControlToValidate="txtLName"
display="Dynamic" /> </td>
</tr>
<tr>
<td align="right" valign="top"><b>Email:</b></td>
<td><asp:TextBox id="txtEmail" runat="server" />
<asp:RequiredFieldValidator runat="server" id="validEmailRequired" ControlToValidate="txtEmail"
display="Dynamic" />
<asp:RegularExpressionValidator runat="server"
id="validEmailRegExp" ControlToValidate="txtEmail" ValidationExpression="^[\w-]+@[\w-]+\.(com|net|org|edu|mil|int)$"
Display="Dynamic" /> </td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
</tr>
<tr>
<td align="right"> </td>
<td> </td>
</tr>
</table>
</asp:Panel>
</asp:panel>
<asp:panel id="panelUserExists" runat="server">
<table width="400" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><span class="style1">Error!</span></td>
</tr>
<tr>
<td>A entry already exists in our database for
<asp:Literal id="litFNameExists" runat="server" />
<asp:Literal id="litLNameExists" runat="server" />
(<asp:Literal id="litEmailExists" runat="server" />) </td>
</tr>
</table>
</asp:panel>
<asp:panel id="panelUnits" runat="server">
<table width="50%" border="0" align="center" cellpadding="2" cellspacing="0">
<tr>
<td width="53%"><div align="right">Which Unit are you Subscribing to?</div></td>
<td width="47%"><asp:DropDownList id="ddGroup_names" runat="server" OnSelectedIndexChanged="Pop_ddDistList" AutoPostBack="true">
<asp:ListItem value="0">Pick One</asp:ListItem>
</asp:DropDownList></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><div align="right">
<asp:Label ID="lblDist_list" runat="server"> </asp:Label>
</div></td>
<td><asp:Listbox id="lbDist_list" runat="server" SelectionMode="Multiple"></asp:Listbox></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
</table>
</asp:panel>
<asp:panel id="panelConfirmation" runat="server" >
<table width="400" border="1" align="center" cellpadding="2" cellspacing="0">
<tr>
<td colspan="2">
Thank you!<br />
<br />
You should receive an e-mail confirming your e-mail adress shortly.
<br />
<br />
Once your request has been confirmed by an Administrator, you will be sent another
notification by e-mail.<br />
</td>
</tr>
<tr>
<td width="30%"> </td>
<td width="70%"> </td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">First Name:</div></td>
<td width="70%"><asp:Literal id="litFName" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Last Name:</div></td>
<td width="70%"><asp:Literal id="litLName" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Email</div></td>
<td width="70%"><asp:Literal id="litEmail" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Address</div></td>
<td width="70%"><asp:Literal id="litAddress" runat="server" /></td>
</tr>
<tr>
<td width="30%" valign="top"><div align="right">Dist. Lists</div></td>
<td width="70%"><asp:Literal id="litDistLists" runat="server" /></td>
</tr>
</table>
</asp:panel>
<div align="center">
<table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><div align="left"><asp:Button ID="btnBack" runat="server" Text= "< Back" OnClick = "btnBack_OnClick"/>
</div></td>
<td> <div align="right"><asp:Button ID="btnNext" runat="server" Text = "Next >>" OnClick = "btnNext_OnClick"/>
</div></td>
</tr>
</table>
</div>
</form>
<hr />
</body>
</html>