【问题标题】:Contact Form Error联系表格错误
【发布时间】:2014-01-12 05:58:40
【问题描述】:

我有一个有联系表的网站:

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("myemail@mydomain.com");
objEmail.To.Add("myemail@mydomain.com");
objEmail.Priority = MailPriority.Normal;
objEmail.IsBodyHtml = true;
objEmail.Subject = "Mysubject";
objEmail.Body = "Mycontent";
SmtpClient objSmtp = new SmtpClient();
objSmtp.Host = "localhost";
objSmtp.Credentials = new NetworkCredential("myemail@mydomain.com", "mypassword");
objSmtp.Send(objEmail);
%>

当有人使用联系表时,我可以收到电子邮件。但是,在主题上,它只出现“我的主题”,而在正文上,它只出现“我的内容”。 为了接收用户在表单上输入的数据,我需要进行哪些更改?

【问题讨论】:

    标签: html asp.net forms contact-form


    【解决方案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("myemail@mydomain.com");
    objEmail.To.Add("myemail@mydomain.com");
    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("myemail@mydomain.com", "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>
    

    【讨论】:

    • 看起来他也没有捕获用户的姓名或电子邮件,我会将其添加到正文中,以获得额外的功劳:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多