Ejemplo de código de página de contacto en C#

Voy a poner como ejemplo la página de contacto que realicé en un sitio web hace un tiempo, es una página simple pero muestra perfectamente el funcionamiento.
La siguiente imagen muestra la vista de diseño en VS2005 con los nombres correspondientes para cada objeto.




En esta imagen se ven los correspondientes Labels para la identificación de cada campo, los TextBox para las entradas, aplicandole al TextBox del campo Mensaje (txtMensaje) el valor MultiLine a la propiedad TextMode, las Labels para el control de errores y por su puesto el boton enviar.
El siguiente código es del botón Enviar (btnEnviar):
protected void btnEnviar_Click(object sender, EventArgs e)
{
Session["Asunto"] = txtAsunto.Text.ToString();
lblENombre.Text = “”;
lblEMail.Text = “”;
lblETelefono.Text = “”;
lblEAsunto.Text = “”;
lblEnviado.Text = “”;
if (txtNombre.Text == “”)
{
lblENombre.Text = “¿No tienes nombre?”;
}
else if (txtMail.Text == “” && txtTelefono.Text==”")
{
lblEMail.Text = “Dejanos al menos un e-mail,”;
lblETelefono.Text = “o un teléfono para comunicarnos.”;
}
else if (txtAsunto.Text == “”)
{
lblEAsunto.Text = “¿De que se trata el mensaje?”;
}
else if (txtMensaje.Text == “”)
{
lblEnviado.Text = “¿Que es lo que deseas consultar?”;
}
else
{
try
{
MailMessage email = new MailMessage();
//Datos necesarios para el envío del mensaje
email.From = new MailAddress(txtMail.Text);
email.To.Add(“ventas@tuempresa.com”);
email.Subject = txtAsunto.Text;
email.Body = txtMensaje.Text;
//Servidor de correo
SmtpClient smtp = new SmtpClient(“servidor.tuempresa.com”);
//E-Mail y password halla creado en el panel de control, puede ser una cuenta que no utilices, crearla simplemente como credencial.
smtp.Credentials = new System.Net.NetworkCredential(“auxiliar@tuempresa.com”, “contraseña”);
smtp.UseDefaultCredentials = false;
//Enviar el correo
smtp.Send(email);
//Mostrar la etiqueta “Enviado”
lblEnviado.Visible = true;
//Redireccionamos a la página de confirmación de envío del mensaje
Response.Redirect(“~/Mensaje-Enviado.aspx”);
//Limpiar los campos para posteriores mensajes
Session["Asunto"] = null;
txtNombre.Text = “”;
txtMail.Text = “”;
txtTelefono.Text = “”;
txtAsunto.Text = “”;
txtMensaje.Text = “”;
}
catch
{
lblEMail.Text = “No fué posible envíar el mensaje, verifica el E-Mail detallado.”;
}
}
}
La primer sentencia de la variable Session["Asunto"] es simplemente para una facilitación de ingreso de datos en el campo asunto desde otras páginas.
Las asignaciones de las Labels están para limpiar los errores detallados en la instancia anterior.
Las sentencias if a continuación un control básico de errores, siendo obligatorios todos los campos excepto los campos Mail y Teléfono que son optativos.
Espero les haya sido de utilidad, y como agradecer no cuesta nada, comenten.



Etiquetas: , , , , , , , ,