<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@ page language="VB" title="Untitled Page" %> <script runat="server"> Protected Sub SubmitForm_Click(ByVal sender As Object, ByVal e As System.EventArgs) If Not Page.IsValid Then Exit Sub Dim SendResultsTo As String = "contact@example.com" Dim smtpMailServer As String = "mail.yoursmtp.com" Dim smtpUsername As String = "yourusername" Dim smtpPassword As String = "yourpassword" Dim MailSubject As String = "Form Results" Try Dim txtQ As TextBox = Me.FormContent.FindControl("TextBoxQ") If txtQ IsNot Nothing Then Dim ans As String = ViewState("hf1") If ans.ToLower <> txtQ.Text.ToLower Or ans.ToUpper <> txtQ.Text.ToUpper Then Me.YourForm.ActiveViewIndex = 3 Exit Sub End If End If Dim FromEmail As String = SendResultsTo Dim msgBody As StringBuilder = New StringBuilder() Dim sendCC As Boolean = False For Each c As Control In Me.FormContent.Controls Select Case c.GetType.ToString Case "System.Web.UI.WebControls.TextBox" Dim txt As TextBox = CType(c, TextBox) If txt.ID.ToLower <> "textboxq" Then msgBody.Append(txt.ID & ": " & txt.Text & vbCrLf & vbCrLf) End If If txt.ID.ToLower = "email" Then FromEmail = txt.Text End If If txt.ID.ToLower = "subject" Then MailSubject = txt.Text End If Case "System.Web.UI.WebControls.CheckBox" Dim chk As CheckBox = CType(c, CheckBox) If chk.ID.ToLower = "checkboxcc" Then If chk.Checked Then sendCC = True Else msgBody.Append(chk.ID & ": " & chk.Checked & vbCrLf & vbCrLf) End If Case "System.Web.UI.WebControls.RadioButton" Dim rad As RadioButton = CType(c, RadioButton) msgBody.Append(rad.ID & ": " & rad.Checked & vbCrLf & vbCrLf) Case "System.Web.UI.WebControls.DropDownList" Dim ddl As DropDownList = CType(c, DropDownList) msgBody.Append(ddl.ID & ": " & ddl.SelectedValue & vbCrLf & vbCrLf) End Select Next msgBody.AppendLine() msgBody.Append("Browser: " & Request.UserAgent & vbCrLf & vbCrLf) msgBody.Append("IP Address: " & Request.UserHostAddress & vbCrLf & vbCrLf) msgBody.Append("Server Date & Time: " & DateTime.Now & vbCrLf & vbCrLf) Dim myMessage As System.Net.Mail.MailMessage = New System.Net.Mail.MailMessage() myMessage.To.Add(SendResultsTo) myMessage.From = New System.Net.Mail.MailAddress(FromEmail) myMessage.Subject = MailSubject myMessage.Body = msgBody.ToString myMessage.IsBodyHtml = False If sendCC Then myMessage.CC.Add(FromEmail) Dim basicAuthenticationInfo As New System.Net.NetworkCredential(smtpUsername, smtpPassword) Dim MailObj As New System.Net.Mail.SmtpClient(smtpMailServer) MailObj.Credentials = basicAuthenticationInfo MailObj.Send(myMessage) Me.YourForm.ActiveViewIndex = 1 Catch Me.YourForm.ActiveViewIndex = 2 End Try End Sub Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) If Not Page.IsPostBack Then Dim lbl As Label = Me.FormContent.FindControl("labelq") If lbl IsNot Nothing Then Dim rq(3) As String rq(0) = "Is fire hot or cold?" rq(1) = "Is ice hot or cold?" rq(2) = "Is water wet or dry?" Dim ra(3) As String ra(0) = "hot" ra(1) = "cold" ra(2) = "wet" Dim rnd As New Random Dim rn As Integer = rnd.Next(0, 3) lbl.Text = rq(rn) ViewState("hf1") = ra(rn) End If End If End Sub </script> <html xmlns="http://www.w3.org/1999/xhtml"> <!-- #BeginTemplate "scouts.dwt" --> <head> <meta content="text/html; charset=utf-8" http-equiv="Content-Type" /> <!-- #BeginEditable "doctitle" --> <title>Contact Us</title> <!-- #EndEditable --> <link href="scout.css" rel="stylesheet" type="text/css" /> <!-- #BeginEditable "headers" --> <meta name="description" content="Boy Scout Troop ##" /> <style type="text/css"> .contact { margin: 1em 5em; } </style> <!-- #EndEditable --> </head> <body> <div id="container"> <div id="masthead"> <img alt="Boy Scouts of America 100 year aniversary" height="123" src="images/bsa-anniversary-bl.jpg" width="122" class="floatrt" /><h1>Boy Scout Troop ##</h1> <p>In Some District<br /> Town, State</p> </div> <div id="menu"> <ul> <li><a href="index.html">Home</a></li> <li><a href="calender.html">Calendar</a></li> <li><a href="merit-badges.html">Merit Badges</a></li> <li><a href="faqs.html">FAQs</a></li> <li><a href="definitions.html">Scout Terms</a></li> <li><a href="links.html">Links</a></li> <li><a href="contact.aspx">Contact Us</a></li> </ul> </div> <div id="content"> <!-- #BeginEditable "maincontent" --> <form id="form1" runat="server"> <div class="contact"> <asp:MultiView ID="YourForm" runat="server" ActiveViewIndex="0"> <asp:View ID="FormContent" runat="server"> <label for="First_Name"> First Name:<br /> <asp:TextBox ID="First_Name" runat="server" Columns="35"></asp:TextBox> </label> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="First_Name" ErrorMessage="Please enter your first name." SetFocusOnError="True" CssClass="ValidateMessage" ForeColor="">* Required</asp:RequiredFieldValidator> <br /> <label for="Last_Name"> Last Name:<br /> <asp:TextBox ID="Last_Name" runat="server" Columns="35"> </asp:TextBox> </label><br /> <label for="Email"> Enter your Email Address:<br /> <asp:TextBox ID="Email" runat="server" Columns="35"> </asp:TextBox> </label> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ControlToValidate="Email" Display="Dynamic" ErrorMessage="Please enter your email address." SetFocusOnError="True" CssClass="ValidateMessage" ForeColor="">* Required</asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" ControlToValidate="Email" ErrorMessage="Please enter a valid email address." SetFocusOnError="True" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*" CssClass="ValidateMessage" ForeColor="">* Please enter a valid email address.</asp:RegularExpressionValidator> <br /> <label for="Subject"> Subject:<br /> <asp:TextBox ID="Subject" runat="server" Columns="50"> </asp:TextBox> </label> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" ControlToValidate="Subject" ErrorMessage="Please enter a subject." SetFocusOnError="True" CssClass="ValidateMessage" ForeColor="">* Required</asp:RequiredFieldValidator> <br /> <label for="Phone"> Phone Number:<br /> <asp:TextBox ID="Phone" runat="server" Columns="40"> </asp:TextBox> </label> <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" ControlToValidate="Phone" Display="Dynamic" ErrorMessage="Please enter your phone number." SetFocusOnError="True" CssClass="ValidateMessage" ForeColor="">* Required</asp:RequiredFieldValidator> <asp:RegularExpressionValidator ID="RegularExpressionValidator2" runat="server" ControlToValidate="Phone" ErrorMessage="Please enter a valid U.S. phone number (including dashes)." SetFocusOnError="True" ValidationExpression="((\(\d{3}\) ?)|(\d{3}-))?\d{3}-\d{4}" CssClass="ValidateMessage" ForeColor="">* Please enter a valid U.S. phone number (including dashes).</asp:RegularExpressionValidator> <br /> <label for="Message"> Please type your message below: <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="Message" ErrorMessage="Please enter a message" SetFocusOnError="True" CssClass="ValidateMessage" ForeColor="">* Required</asp:RequiredFieldValidator> <br /> <asp:TextBox ID="Message" runat="server" TextMode="MultiLine" Columns="55" Rows="10"> </asp:TextBox> </label> <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" ControlToValidate="Last_Name" ErrorMessage="Please enter your last name." SetFocusOnError="True" CssClass="ValidateMessage" ForeColor="">* Required</asp:RequiredFieldValidator> <p> <label for="TextBoxQ"> Anti-Spam Question: <asp:Label ID="LabelQ" runat="server"></asp:Label> <asp:TextBox ID="TextBoxQ" runat="server" Columns="8"></asp:TextBox> </label> <asp:RequiredFieldValidator ID="RequiredFieldValidator12" runat="server" ControlToValidate="TextBoxQ" Display="Dynamic" ErrorMessage="Please answer the anti-spam question." SetFocusOnError="True" CssClass="ValidateMessage" ForeColor="">* Required</asp:RequiredFieldValidator> <br /> <asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="True" ShowSummary="False" CssClass="ValidateMessage" ForeColor="" /> <br /> <asp:CheckBox ID="CheckBoxCC" runat="server" Text="Send me a carbon copy of this email." /> <br /> <asp:Button ID="SubmitForm" runat="server" OnClick="SubmitForm_Click" Text="Submit Form" /> </p> </asp:View> <asp:View ID="FormConfirmationMessage" runat="server"> Your message has been sent. Thank you for contacting us.<br /> </asp:View> <asp:View ID="FormErrorMessage" runat="server"> Due to technical difficulty, your message may NOT have been sent. </asp:View> <asp:View ID="FormSpamMessage" runat="server"> You did not correctly answer the anti-spam question. Please go back and try again.</asp:View> </asp:MultiView> </div> </form> <!-- #EndEditable --> </div> <div id="footer"> <p>© 2010 by-expression.com</p> </div> </div> </body> <!-- #EndTemplate --> </html>