I have developed a contact form and I can successfully send a email when the user clicks the submit button but when the user clicks the back button in the browser the form fields are not being cleared. I am using AJAX Script Manager, UpdatePanel and ContentTemplate
I've spent 2 hours trying to fix it but I am not getting anywhere. I was hoping someone could take a look at my code please and assist me which would be greatly appreciated.
ASP.NET Code:
<asp:ScriptManager ID="MainScriptManager" runat="server" />
<div id="contactform" class="cform">
<asp:UpdatePanel ID="ContactPanel" runat="server">
<ContentTemplate>
<p>
Please fill in the below form. Thanks.
</p>
<asp:Label ID="txtNameLabel" runat="server" Text="Name"></asp:Label>
<br />
<asp:TextBox ID="txtName" Width="200" Height="25" BackColor="#FBF5FF" ToolTip="Enter Name" MaxLength="50" runat="server" />
<asp:RequiredFieldValidator ControlToValidate="txtName" ID="NameRequiredFieldValidator"
ErrorMessage="(*)" runat="server" Height="25" ToolTip="Name is required" ForeColor="Red"></asp:RequiredFieldValidator>
<br />
<br />
<asp:Label ID="txtSubjectLabel" runat="server" Text="Subject"></asp:Label>
<br />
<asp:TextBox ID="txtSubject" Width="200" Height="25" MaxLength="50" ToolTip="Enter Subject" BackColor="#FBF5FF" runat="server" />
<asp:RequiredFieldValidator ControlToValidate="txtSubject" ID="SubjectRequiredFieldValidator"
ErrorMessage="(*)" runat="server" Height="25" ToolTip="Subject is required" ForeColor="Red"></asp:RequiredFieldValidator>
<br />
<br />
<asp:Label ID="txtTelephoneLabel" runat="server" Text="Telephone Number"></asp:Label>
<br />
<asp:TextBox ID="txtTelephone" Width="200" Height="25" MaxLength="25" ToolTip="Enter primary contact number" runat="server" BackColor="#FBF5FF" />
<asp:RequiredFieldValidator ControlToValidate="txtTelephone" ID="TelephoneRequiredFieldValidator"
ErrorMessage="(*)" runat="server" ToolTip="Telephone Number is required" Height="25" ForeColor="Red">
</asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="TelephoneRegularExpressionValidator" runat="server"
ControlToValidate="txtTelephone" ErrorMessage="(*)" Height="25" ForeColor="Red"
SetFocusonerror="True" ToolTip="Invalid Telephone number" ValidationExpression="^\d+$">
</asp:RegularExpressionValidator>
<br/>
<br />
<asp:Label ID="txtEmailLabel" runat="server" Text="Email"></asp:Label>
<br />
<asp:TextBox ID="txtEmail" Width="200" Height="25" BackColor="#FBF5FF" ToolTip="Enter Email" runat="server" />
<asp:RequiredFieldValidator ControlToValidate="txtEmail" ID="EmailRequiredFieldValidator"
ErrorMessage="(*)" runat="server" ToolTip="Email is required" ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="EmailRegularExpressionValidator" runat="server"
ControlToValidate="txtEmail" ErrorMessage="(*)" Height="25" ForeColor="Red"
SetFocusonerror="True" ToolTip="Invalid Email Address" ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*">
</asp:RegularExpressionValidator>
<br />
<br />
<asp:Label ID="txtMessageLabel" runat="server" Text="Message"></asp:Label>
<br />
<asp:TextBox ID="txtMessage" Width="200" Height="79" runat="server"
BackColor="#FBF5FF" TextMode="MultiLine" ToolTip="Enter message"
MaxLength="256" />
<asp:RequiredFieldValidator ControlToValidate="txtMessage" ID="MessageRequiredFieldValidator"
ErrorMessage="(*)" ToolTip="Message is required" runat="server" ForeColor="Red" Height="79"></asp:RequiredFieldValidator>
<br />
<br />
<asp:Button ID="btnSubmit" runat="server" onclick="btnSubmit_Click" Text="Submit" />
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnSubmit" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
</div>
Here is the C# code:
protected void btnSubmit_Click(object sender, EventArgs e)
{
SendEmail();
ResetFormFields();
Response.Redirect(Page.ResolveClientUrl("~/confirmation"));
}
private void ResetFormFields()
{
this.txtName.Text = string.Empty;
this.txtEmail.Text = string.Empty;
this.txtTelephone.Text = string.Empty;
this.txtSubject.Text = string.Empty;
this.txtMessage.Text = string.Empty;
//this.ContactPanel.Update();
}

New Topic/Question
Reply



MultiQuote



|