ASP.NET联系人表单-输出到电子邮件和access数据库

ASP.NET联系人表单-输出到电子邮件和access数据库,asp.net,email,ms-access,Asp.net,Email,Ms Access,我是ASP.NET新手,我正在尝试创建一个联系人表单,在提交时发送电子邮件,并将数据存储在数据库中 我已经阅读了很多教程,我对电子邮件设置的基本联系方式很满意,但是我在数据库部分遇到了问题 请让我知道,如果你曾经这样做过,或者如果你可以提供任何信息,将有助于我完成这项任务 我正在运行ASP.NET 2.0 提前谢谢。我对C#和ASP.NET(IT一年级学生)都很陌生。直到一个月前,我还从未看过C代码,更不用说用C语言编程了。一、 他们也一直在互联网上寻找解决这个问题的方法。经过一周的代码修补,我

我是ASP.NET新手,我正在尝试创建一个联系人表单,在提交时发送电子邮件,并将数据存储在数据库中

我已经阅读了很多教程,我对电子邮件设置的基本联系方式很满意,但是我在数据库部分遇到了问题

请让我知道,如果你曾经这样做过,或者如果你可以提供任何信息,将有助于我完成这项任务

我正在运行ASP.NET 2.0

提前谢谢。

我对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();
}

}
使用系统;
使用System.Collections.Generic;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用System.Net.Mail;
使用系统数据;
使用System.Data.SqlClient;
使用系统配置;
公共部分类联系人:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
//重置事件代码(将重置表单数据):
受保护的无效重置(对象s、事件参数e)
{
fname.Text=“”;
lname.Text=“”;
email.Text=“”;
phone.Text=“”;
评论。文本=”;
}
//SendMail事件的代码;将发送电子邮件并将电子邮件中的信息写入数据库:
受保护的void SendMail(对象发件人,事件参数e)
{
MailMessage mail=新的MailMessage();
mail.From=新邮件地址(email.Text);
mail.To.Add(“您希望发送邮件的电子邮件地址”);
mail.Subject=“联系我们”;
mail.IsBodyHtml=true;
mail.Body+=“名字:”+fname.Text+“
”; mail.Body+=“姓氏:”+lname.Text+“
”; mail.Body+=“Comments:”+Comments.Text+“
”; mail.Body+=“电话号码:”+Phone.Text+“
”; SmtpClient smtp=新SmtpClient(); smtp.Host=“smtp中继服务器的名称”; smtp.发送(邮件); } 受保护的void insertInfo(对象发送方,事件参数e) { SqlConnection myConnection=newsqlconnection(ConfigurationManager.connectionString[“WEB.CONFIG连接字符串名称”].ToString()); System.Data.SqlClient.SqlCommand cmd=new System.Data.SqlClient.SqlCommand(); cmd.CommandType=System.Data.CommandType.Text; cmd.CommandText=“插入表名(fname、lname、电子邮件、电话、注释) 值(@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(); } }
到目前为止您有代码吗?或者您只是想让我们为您编写整个解决方案?;-)这是我当前的form.aspx:这是我的Web.config:在在线教程的帮助下。我的表单将更高级,但我将它保留在那里用于测试目的。我真的不知道从哪里开始将表单数据导入数据库。我想我可以通过submit按钮来实现这一点——一个onclick操作。我期待着学习,因此,如果没有为我编写解决方案,我将不胜感激。更具体地说,我的请求-您建议我做些什么才能使我的表单到db正常工作?SQL insert的参数使用得很好:)但是,我建议您将
mail.IsBodyHtml
设置为
false
,因为您没有这样做清理此处的输入,然后使用Environment.NewLine或“\n\r”在电子邮件中生成中断。更进一步,您可能想看看如何使用StringBuilder来构建消息体,并使用AppendLine方法()来处理所有这些。谢谢您的提示!非常感谢;作为一个新手,我需要所有能得到的建议。我会跟着你的告别。