I have a simple email form written in ASP.NET with the logic in the codebehind file. It’s all in C# (the logic that is…). Anyways, on page load I have the following:
protected void Page_Load(object sender, EventArgs e)
{
RequestorName.Text = Request.Form["UserName"].ToString();
RequestorTitle.Text = Request.Form["JobTitle"].ToString();
RequestorEmail.Text = Request.Form["Email"].ToString();
RequestorPhone.Text = Request.Form["Phone"].ToString();
RequestorAddress1.Text = Request.Form["Address"].ToString();
RequestorAddress2.Text = Request.Form["City"].ToString() + " " + Request.Form["State"].ToString() + ", " + Request.Form["Zip"].ToString();
}
This works great as it pulls the users information into a few fields so they don’t have to fill everything out by hand.
My other 2 methods in the code behind:
protected void SubmitForm_Click(object sender, EventArgs e)
{
SendEmail();
}
protected void SendEmail()
{
try
{
//compose email and send
}
catch (Exception ex)
{
ErrorMessage.Text = "Error: " + ex.ToString();
}
}
On my form page the button code is this:
<center>
<asp:Button runat="server" Text="Submit" ID="Submit" OnClick="SubmitForm_Click" class="button red" />
</center>
The error occurs when I click the send button on the form that generates the email and sends it. I can remove the Page_Load code and works great but I’d like to keep it there so the user doesn’t have to fill out as much information.
I’ve used my Google Fu and read a ton of threads/articles but can’t seem to find the solution…
Thanks for any assistance.
Add check for IsPostBack: