I need to this website work and fix the errors. It is using asp.net and C#. I ru
ID: 3776249 • Letter: I
Question
I need to this website work and fix the errors. It is using asp.net and C#. I run it with Visual Studio 2015
There are all three types of errors in this project. Syntax, Runtime, Logical errors.
Explain and fixing the logic errors.
Default.aspx:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" Debug="true"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Personal Mail Portal</title>
<link href="text.css" rel="stylesheet" type="text/css">
</head>
<body>
<form id="mailForm" runat="server">
<div>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="20" bgcolor="324C05">
<img src="images/spacer.gif" width="20" height="20"></td>
</tr>
<tr>
<td height="36" valign="top" background="images/butbg.gif">
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="77">
<img src="images/but01.gif" width="77" height="36"></td>
<td width="119">
<img src="images/but02.gif" width="119" height="36"></td>
<td width="103">
<img src="images/but03.gif" width="103" height="36"></td>
<td width="92">
<img src="images/but04.gif" width="92" height="36"></td>
<td>
<img src="images/but05.gif" width="106" height="36"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="18" valign="top" background="images/barbg.gif">
<img src="images/bar01.gif" width="77" height="18"></td>
</tr>
<tr>
<td height="67" background="images/topbg01.gif">
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="173">
<img src="images/logo.gif" width="173" height="67"></td>
<td width="139">
<img src="images/mail .gif" width="139" height="67"></td>
<td width="140">
<img src="images/today.gif" width="140" height="67"></td>
<td>
<img src="images/contacts.gif" width="140" height="67"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="left" valign="top">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="175" align="left" valign="top">
<table width="175" height="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td height="20" align="center" bgcolor="EAEAEA"><strong><font color="#006699">drg@dongosselin.com</font></strong>
</td>
</tr>
<tr>
<td height="36" valign="top">
<img src="images/folders.gif" width="175" height="36"></td>
</tr>
<tr>
<td align="center" valign="top" bgcolor="F5F5F5">
<br>
<table width="175" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="8" align="left" valign="top">
<img src="images/left0.gif" width="8" height="125"></td>
<td width="167">
<table width="145" border="0" cellpadding="0" cellspacing="0" class="text">
<tr align="left">
<td width="29">
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td width="116"><font color="#999999"><strong>Inbox (19) </strong></font><font color="#666666">
</font></td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Junk E-Mail </strong></font><font color="#666666">
</font></td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Sent Messages (3) </strong></font><font color="#666666">
</font></td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Drafts </strong></font><font color="#666666"> </font>
</td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Trash Can</strong></font><font color="#666666"> </font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td align="left" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="5" rowspan="4"> </td>
<td> </td>
</tr>
<tr>
<td height="27" align="left" background="images/boxbg.gif">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="68">
<asp:ImageButton ID="submitImage" runat="server" ImageUrl="images/b1.gif" />
</td>
<td width="85">
<img src="images/b2.gif" width="85" height="27"></td>
<td width="56">
<img src="images/b3.gif" width="56" height="27"></td>
<td align="left">
<img src="images/b4.gif" width="56" height="27"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="left" valign="top"> </td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Panel ID="emailForm" runat="server">
<table width="500" border="0" cellpadding="2" cellspacing="0" class="text">
<tr>
<td width="64" align="right">
<asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="**" ControlToValidate="sendersName">**</asp:RequiredFieldValidator>Sender's Name:
</td>
<td width="294">
<asp:TextBox ID="senderName" runat="server" Width="255px" />
</td>
</tr>
<tr>
<td width="64" align="right">
<asp:RequiredFieldValidator ID="fromValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="sendersEmail">**</asp:RequiredFieldValidator>sendersEmail:</td>
<td width="294">
<asp:TextBox ID="senderEmail" runat="server" Width="255px" />
</td>
<td width="130" rowspan="4" valign="top">
<img src="images/address_bok.gif" width="116" height="34"></td>
</tr>
<tr>
<td align="right">
<asp:RequiredFieldValidator ID="toValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="toValidator">**</asp:RequiredFieldValidator>toValidator:</td>
<td>
<asp:TextBox ID="to" runat="server" Width="255px" Height="30px" TextMode="MultiLine" />
</td>
</tr>
<tr>
<td align="right">Cc:</td>
<td>
<asp:TextBox ID="cc" runat="server" Width="255px" Height="30px" TextMode="MultiLine" />
</td>
</tr>
<tr>
<td align="right">Bcc:<br>
</td>
<td>
<asp:TextBox ID="bcc" runat="server" Width="255px" Height="30px" TextMode="MultiLine" />
</td>
</tr>
<tr>
<td align="right">
<asp:RequiredFieldValidator ID="subjectValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="subject">**</asp:RequiredFieldValidator>Subject:</td>
<td>
<asp:TextBox ID="subject" runat="server" Width="255px" />
</td>
</tr>
<tr>
<td align="right">
<asp:RegularExpressionValidator ID="senderPhoneValidator" runat="server" ErrorMessage="Phone did not match pattern"
ValidationExpression='^(1-)?((?[d]{3})?)? ?([0-9]{3})(-[0-9]{4})$'
ControlToValidate="senerPhone" />Sender Phone Number:</td>
<td>
<asp:TextBox ID="senderPhone" runat="server" Width="255px" />
</td>
</tr>
<td align="right" valign="top">
<asp:RequiredFieldValidator ID="messageValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="message">**</asp:RequiredFieldValidator>Message:</td>
<td colspan="2">
<asp:TextBox ID="message" runat="server" Width="255px" TextMode="MultiLine" Height="80px" />
</td>
</table>
</asp:Panel>
<asp:Literal ID="sentEmail" runat="server" Visible="False">
</asp:Literal>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td> </tr>
<tr>
<td height="35" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="176" bgcolor="F5F5F5">
<img src="images/bottom01_1.gif" width="176" height="35"></td>
<td bgcolor="324C05">
<table width="400" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td align="center"><font color="006C1C">Copyright ©2010 Personal Mail Portal, Inc.
All Rights Reserved.</font></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Text.RegularExpressions;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Page.Validate();
if (Page.IsValid)
{
string toAddress = to.Text.Replace(" ", ", ");
string ccAddress = cc.Text.Replace(" ", ", ");
string bccAddress = bcc.Text.Replace(" ", ", ");
string[] toArray = toAddress.Split(',');
string[] ccArray = ccAddress.Split(',');
string[] bccArray = bccAddress.Split(',');
if (validateAddress(senderEmail.Text) == false)
{
emailForm.Visible = false;
sentEmail.Visible = true;
sentEmail.Text = "<p>The Sender's email isn't valid. Please fix"
+ " by clicking your browser's back button and updating the "
+ " information.";
}
else if (to.Text.Length == 0 || !checkAddresses(toArray))
{
emailForm.Visible = false;
sentEmail.Visible = true;
sentEmail.Text = "You have issues in your To addresses. Please fix"
+ " by clicking your browser's back button and updating the "
+ " information.";
}
else if (cc.Text.Length > 0 && !checkAddresses(ccArray))
{
emailForm.Visible = false;
sentEmail.Visible = true;
sentEmail.Text = "You have issues in your cc addresses. Please fix"
+ " by clicking your browser's back button and updating the "
+ " information.";
}
else if (bcc.Text.Length > 0 || !checkAddresses(bccArray))
{
emailForm.Visible = false;
sentEmail.Visible = true;
sentEmail.Text = "You have issues in your bcc addresses. Please fix"
+ " by clicking your browser's back button and updating the "
+ " information.";
}
else
{
MailAddress messageFrom = new MailAddress(
senderEmail.Text.ToLower().Trim()
, senderName.Text);
string messageSubject = subject.Text;
string messageBody = message.Text;
MailMessage emailMessage = new MailMessage();
emailMessage.From = messageFrom;
foreach (string addy in toArray)
{
MailAddress address = new MailAddress(addy);
emailMessage.To.Add(address);
}
//foreach (string addy in ccArray)
//{
// MailAddress address = new MailAddress(addy);
// emailMessage.CC.Add(address);
//}
//foreach (string addy in bccArray)
//{
// MailAddress address = new MailAddress(addy);
// emailMessage.Bcc.Add(address);
//}
emailMessage.Subject = messageSubject;
emailMessage.Body = messageBody;
SmtpClient mailClient = new SmtpClient();
mailClient.UseDefaultCredentials = false;
mailClient.Send(emailMessage);
emailForm.Visible = false;
sentEmail.Visible = true;
sentEmail.Text = "<p>The following message was sent successfully </p><hr />"
+ "<p><strong>From</strong>: "
+ messageFrom.DisplayName + " <"
+ messageFrom.Address
+ "></p>"
+ "<p><strong>To</strong>: <"
+ toAddress
+ "></p>"
+ "<p><strong>CC</strong>: <"
+ ccAddress
+ "></p>"
+ "<p><strong>BCC</strong>: <"
+ bccAddress
+ "></p>"
+ "<p><strong>Subject</strong>: "
+ emailMessage.Subject
+ "</p>"
+ "<p><strong>Body</strong>: "
+ emailMessage.Body
+ "</p>";
}
}
}
protected Boolean validateAddress(string address)
{
Regex emailPattern = new
Regex("^([\w_\d]{1,35})"
+ "((\.?[+]?[\w_\d]{1,10})?){3}?"
+ "\@[\d\w-_]{1,20}\..{2,5}$");
Match emailMatch = emailPattern.Match(address);
if (emailMatch.Success)
{
return true;
}
else
{
return false;
}
}
protected Boolean checkAddresses(string[] address)
{
for (int i = 0; i < address.Length; i++)
{
address[i].TrimEnd(' ');
if (!validateAddress(address[i]))
{
return false;
}
}
return true;
}
}
Explanation / Answer
transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>Personal Mail Portal</title>
<link href="text.css" rel="stylesheet" type="text/css">
</head>
<body>
<form id="mailForm" runat="server">
<div>
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="20" bgcolor="324C05">
<img src="images/spacer.gif" width="20" height="20"></td>
</tr>
<tr>
<td height="36" valign="top" background="images/butbg.gif">
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="77">
<img src="images/but01.gif" width="77" height="36"></td>
<td width="119">
<img src="images/but02.gif" width="119" height="36"></td>
<td width="103">
<img src="images/but03.gif" width="103" height="36"></td>
<td width="92">
<img src="images/but04.gif" width="92" height="36"></td>
<td>
<img src="images/but05.gif" width="106" height="36"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td height="18" valign="top" background="images/barbg.gif">
<img src="images/bar01.gif" width="77" height="18"></td>
</tr>
<tr>
<td height="67" background="images/topbg01.gif">
<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="173">
<img src="images/logo.gif" width="173" height="67"></td>
<td width="139">
<img src="images/mail .gif" width="139" height="67"></td>
<td width="140">
<img src="images/today.gif" width="140" height="67"></td>
<td>
<img src="images/contacts.gif" width="140" height="67"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="left" valign="top">
<table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="175" align="left" valign="top">
<table width="175" height="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td height="20" align="center" bgcolor="EAEAEA"><strong><font color="#006699">drg@dongosselin.com</font></strong>
</td>
</tr>
<tr>
<td height="36" valign="top">
<img src="images/folders.gif" width="175" height="36"></td>
</tr>
<tr>
<td align="center" valign="top" bgcolor="F5F5F5">
<br>
<table width="175" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="8" align="left" valign="top">
<img src="images/left0.gif" width="8" height="125"></td>
<td width="167">
<table width="145" border="0" cellpadding="0" cellspacing="0" class="text">
<tr align="left">
<td width="29">
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td width="116"><font color="#999999"><strong>Inbox (19) </strong></font><font color="#666666">
</font></td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Junk E-Mail </strong></font><font color="#666666">
</font></td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Sent Messages (3) </strong></font><font color="#666666">
</font></td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Drafts </strong></font><font color="#666666"> </font>
</td>
</tr>
<tr align="left">
<td>
<img src="images/left01.gif" width="26" height="9" vspace="7"></td>
<td><font color="#999999"><strong>Trash Can</strong></font><font color="#666666"> </font>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
<td align="left" valign="top">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="5" rowspan="4"> </td>
<td> </td>
</tr>
<tr>
<td height="27" align="left" background="images/boxbg.gif">
<table width="100%" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td width="68">
<asp:ImageButton ID="submitImage" runat="server" ImageUrl="images/b1.gif" />
</td>
<td width="85">
<img src="images/b2.gif" width="85" height="27"></td>
<td width="56">
<img src="images/b3.gif" width="56" height="27"></td>
<td align="left">
<img src="images/b4.gif" width="56" height="27"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td align="left" valign="top"> </td>
</tr>
<tr>
<td align="left" valign="top">
<asp:Panel ID="emailForm" runat="server">
<table width="500" border="0" cellpadding="2" cellspacing="0" class="text">
<tr>
<td width="64" align="right">
<asp:RequiredFieldValidator ID="nameValidator" runat="server" ErrorMessage="**" ControlToValidate="sendersName">**</asp:RequiredFieldValidator>Sender's Name:
</td>
<td width="294">
<asp:TextBox ID="senderName" runat="server" Width="255px" />
</td>
</tr>
<tr>
<td width="64" align="right">
<asp:RequiredFieldValidator ID="fromValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="sendersEmail">**</asp:RequiredFieldValidator>sendersEmail:</td>
<td width="294">
<asp:TextBox ID="senderEmail" runat="server" Width="255px" />
</td>
<td width="130" rowspan="4" valign="top">
<img src="images/address_bok.gif" width="116" height="34"></td>
</tr>
<tr>
<td align="right">
<asp:RequiredFieldValidator ID="toValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="toValidator">**</asp:RequiredFieldValidator>toValidator:</td>
<td>
<asp:TextBox ID="to" runat="server" Width="255px" Height="30px" TextMode="MultiLine" />
</td>
</tr>
<tr>
<td align="right">Cc:</td>
<td>
<asp:TextBox ID="cc" runat="server" Width="255px" Height="30px" TextMode="MultiLine" />
</td>
</tr>
<tr>
<td align="right">Bcc:<br>
</td>
<td>
<asp:TextBox ID="bcc" runat="server" Width="255px" Height="30px" TextMode="MultiLine" />
</td>
</tr>
<tr>
<td align="right">
<asp:RequiredFieldValidator ID="subjectValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="subject">**</asp:RequiredFieldValidator>Subject:</td>
<td>
<asp:TextBox ID="subject" runat="server" Width="255px" />
</td>
</tr>
<tr>
<td align="right">
<asp:RegularExpressionValidator ID="senderPhoneValidator" runat="server" ErrorMessage="Phone failed to match pattern"
ValidationExpression='^(1-)?((?[d])?)? ?([0-9])(-[0-9])
ControlToValidate="senerPhone" />Sender Phone Number:</td>
<td>
<asp:TextBox ID="senderPhone" runat="server" Width="255px" />
</td>
</tr>
<td align="right" valign="top">
<asp:RequiredFieldValidator ID="messageValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="message">**</asp:RequiredFieldValidator>Message:</td>
<td colspan="2">
<asp:TextBox ID="message" runat="server" Width="255px" TextMode="MultiLine" Height="80px" />
</td>
</table>
</asp:Panel>
<asp:Literal ID="sentEmail" runat="server" Visible="False">
</asp:Literal>
</td>
</tr>
<tr>
<td> </td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td> </tr>
<tr>
<td height="35" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="176" bgcolor="F5F5F5">
<img src="images/bottom01_1.gif" width="176" height="35"></td>
<td bgcolor="324C05">
<table width="400" border="0" cellpadding="0" cellspacing="0" class="text">
<tr>
<td align="center"><font color="006C1C">Copyright ©2010 Personal Mail Portal, Inc.
All Rights Reserved.</font></td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
Default.aspx.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Text.RegularExpressions;
public partial category _Default : System.Web.UI.Page
//foreach (string addy in ccArray)
//
//foreach (string addy in bccArray)
//
emailMessage.Subject = messageSubject;
emailMessage.Body = messageBody;
SmtpClient mailClient = new SmtpClient();
mailClient.UseDefaultCredentials = false;
mailClient.Send(emailMessage);
emailForm.Visible = false;
sentEmail.Visible = true;
sentEmail.Text = "<p>The following message was sent with success </p><hr />"
+ "<p><strong>From</strong>: "
+ messageFrom.DisplayName + " <"
+ messageFrom.Address
+ "></p>"
+ "<p><strong>To</strong>: <"
+ toAddress
+ "></p>"
+ "<p><strong>CC</strong>: <"
+ ccAddress
+ "></p>"
+ "<p><strong>BCC</strong>: <"
+ bccAddress
+ "></p>"
+ "<p><strong>Subject</strong>: "
+ emailMessage.Subject
+ "</p>"
+ "<p><strong>Body</strong>: "
+ emailMessage.Body
+ "</p>";
}
}
}
protected mathematician validateAddress(string address)
come back true;
}
else
come back false;
}
}
protected mathematician checkAddresses(string[] address)
{
for (int i = 0; i < address.Length; i++)
{
address[i].TrimEnd(' ');
if (!validateAddress(address[i]))
come back false;
}
}
come back true;
}
}
ControlToValidate="senerPhone" />Sender Phone Number:</td>
<td>
<asp:TextBox ID="senderPhone" runat="server" Width="255px" />
</td>
</tr>
<td align="right" valign="top">
<asp:RequiredFieldValidator ID="messageValidator" runat="server" ErrorMessage="RequiredFieldValidator"
ControlToValidate="message">**</asp:RequiredFieldValidator>Message:</td>
<td colspan="2">
<asp:TextBox ID="message" runat="server" Width="255px" TextMode="MultiLine" Height="80px" />