2014-01-11 86 views
0

我有一个网站具有接触形式:联系表错误

index.html 

<form id="form" action="contact.aspx" method="POST"> 
<p><label>Your Name</label><input name="nome" type="text"></p> 
<p><label>Your Email</label><input name="email" type="text"></p> 
<p><label>Your Message</label><textarea name="mensagem"></textarea></p> 
<p><input name="submit" type="submit" value="Submit"> 
</form> 

此形式请求asp.net页面(contact.aspx)

<%@ page language="C#" %> 
<%@ Import Namespace="System.Net.Mail" %> 
<%@ Import Namespace="System.Net" %> 
<%@ Import Namespace="System.Text" %> 

<% 
MailMessage objEmail = new MailMessage(); 
objEmail.From = new MailAddress("[email protected]"); 
objEmail.To.Add("[email protected]"); 
objEmail.Priority = MailPriority.Normal; 
objEmail.IsBodyHtml = true; 
objEmail.Subject = "Mysubject"; 
objEmail.Body = "Mycontent"; 
SmtpClient objSmtp = new SmtpClient(); 
objSmtp.Host = "localhost"; 
objSmtp.Credentials = new NetworkCredential("[email protected]", "mypassword"); 
objSmtp.Send(objEmail); 
%> 

当某人使用的联系方式,我可以收到电子邮件。然而,在这个问题上,它只出现“Mysubject”,而在身体上,它只出现“Mycontent”。 为了接收用户放置在表单上的数据,我需要做些什么改变?

回答

1

您需要按照名称在Request.Form中查找发布的数据。你的代码应该是这样的:

<%@ page language="C#" %> 
<%@ Import Namespace="System.Net.Mail" %> 
<%@ Import Namespace="System.Net" %> 
<%@ Import Namespace="System.Text" %> 

<% 
MailMessage objEmail = new MailMessage(); 
objEmail.From = new MailAddress("[email protected]"); 
objEmail.To.Add("[email protected]"); 
objEmail.Priority = MailPriority.Normal; 
objEmail.IsBodyHtml = true; 
objEmail.Subject = Request.Form["subject"]; 
objEmail.Body = Request.Form["mensagem"]; 
SmtpClient objSmtp = new SmtpClient(); 
objSmtp.Host = "localhost"; 
objSmtp.Credentials = new NetworkCredential("[email protected]", "mypassword"); 
objSmtp.Send(objEmail); 
%> 

在html中你缺少“主题”字段。你的标记应该是这样的:

<form id="form" action="contact.aspx" method="POST"> 
<p><label>Your Name</label><input name="nome" type="text"></p> 
<p><label>Your Email</label><input name="email" type="text"></p> 
<p><label>Your Subject</label><input name="subject" type="text"></p> 
<p><label>Your Message</label><textarea name="mensagem"></textarea></p> 
<p><input name="submit" type="submit" value="Submit"></p> 
</form> 
+1

看起来他似乎也没有捕获用户的名字或电子邮件,我会把它放在身上,以获得额外的奖励:) –