ASP.NET Contact Form - вывод на электронную почту и доступ к базе - PullRequest
0 голосов
/ 01 декабря 2009

Я новичок в ASP.NET и пытаюсь создать контактную форму, которая отправляет электронное письмо при отправке, а также сохраняет данные в базе данных.

Я прочитал множество учебных пособий, и мне довольно удобна базовая форма контакта для настройки электронной почты, но у меня возникли проблемы с частью базы данных.

Пожалуйста, дайте мне знать, если вы когда-либо делали это, или если бы вы могли предоставить любую информацию, которая помогла бы мне с этой задачей.

Я использую ASP.NET 2.0

Заранее спасибо.

1 Ответ

1 голос
/ 11 декабря 2009

Я очень плохо знаком с C # и ASP.NET (студент первого курса IT). Еще месяц назад я никогда не просматривал код на C #, а тем более программировал что-то на C #. Я тоже прочесываю интернет для решения этой проблемы. После недели работы с каким-то кодом я наконец-то понял это. Приведенный ниже код позволит вам создать форму электронной почты ASP.NET «Связаться с нами» и отправит информацию в форме в базу данных SQL Server. Надеюсь, это поможет кому-то избежать того же обострения, которое я пережил! (Если кто-нибудь знает способ запрограммировать это более эффективно, я бы хотел услышать ваши мысли.)

ЗДЕСЬ КОД ДЛЯ ФАЙЛА ASPX.CS, ПРИЛОЖЕННОГО К ФОРМЕ:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;


public partial class Contact : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

//Code for the Reset event (will reset form data):

protected void Reset(object s, EventArgs e)
{
    fname.Text = "";
    lname.Text = "";
    email.Text = "";
    phone.Text = "";
    comments.Text = "";
}

//Code for the SendMail Event; will send email and write info in email into database:

protected void SendMail(object sender, EventArgs e)
{
    MailMessage mail = new MailMessage();
    mail.From = new MailAddress(email.Text);
    mail.To.Add("EMAIL ADDRESS WHERE YOU'D LIKE THE MESSAGE SENT");
    mail.Subject = "Contact Us";
    mail.IsBodyHtml = true;
    mail.Body += "First Name: " + fname.Text + "<br />";
    mail.Body += "Last Name: " + lname.Text + "<br />";
    mail.Body += "Comments: " + comments.Text + "<br />";
    mail.Body += "Phone Number: " + phone.Text + "<br />";

    SmtpClient smtp = new SmtpClient();
    smtp.Host = "NAME OF SMTP RELAY SERVER";
    smtp.Send(mail);
}

protected void insertInfo(object sender, EventArgs e)
{
    SqlConnection myConnection = new SqlConnection             (ConfigurationManager.ConnectionStrings["WEB.CONFIG CONNECTION STRING NAME"].ToString());

    System.Data.SqlClient.SqlCommand cmd = new System.Data.SqlClient.SqlCommand();
    cmd.CommandType = System.Data.CommandType.Text;
    cmd.CommandText = "INSERT INTO TABLE NAME (fname, lname, email, phone, comment)    
VALUES (@fname, @lname, @email, @phone, @comments)";
    cmd.Connection = myConnection;

    cmd.Parameters.Add("@fname", fname.Text);
    cmd.Parameters.Add("@lname", lname.Text);
    cmd.Parameters.Add("@email", email.Text);
    cmd.Parameters.Add("@phone", phone.Text);
    cmd.Parameters.Add("@comments", comments.Text);


    myConnection.Open();
    cmd.ExecuteNonQuery();
    myConnection.Close();
}

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...