这是我第一次在ASP.NET中创建一个来自我的教程here
这是错误:
Line 23: output += "<p>Groupe: " + Request.Form["c_Groupe"].ToString() + ".</p>";
Line 24: output += "<p>Numéro de téléphone: " + Request.Form["c_Tel"].ToString() + ".</p>";
Line 25: output += "<p>J'aimerais être bénévole pour: " + Request.Form["La bibliothèque","Aide en classe","Aide pour les dîners pizza","Aide aux devoirs après l’école","Aménagement paysager (fleurs, arbustes à tailler…)","Photo scolaire","Accompagner les élèves lors des sorties", "Venir parler de votre métier dans une classe ou monter un atelier "].ToString() + ".</p>";
Line 26: output += "<p>Autres: " + Request.Form["c_Autre"].ToString() + ".</p>";
Line 27:
答案 0 :(得分:2)
把
<configuration>
<system.web>
<customErrors mode="Off"/>
</system.web>
</configuration>
在你的web.config中我们可以看到错误,但这可能与
有关CodeFile="contact-form.aspx.cs" Inherits="_Emailer"
位。要么缺少contact-form.aspx.cs文件,要么代码隐藏中的部分类与_Emailer具有不同的名称。
啊,看起来你已经创建了一个Web应用程序项目。您需要首先构建项目然后将所有文件ftp到您的Web服务器,包括bin文件夹,或者更简单的替代方法是使用Visual Studios发布选项,它将提示您输入ftp详细信息并为您完成其余的工作
答案 1 :(得分:1)
更新您的web.config文件以显示错误
<customErrors mode="Off" />
删除标题可能不是最佳解决方案,因此我认为错误发生在您的contact-form.aspx.cs页面中。将以上内容添加到web.config后,应显示REAL异常。
答案 2 :(得分:1)
我认为位于表单标记之外的标签应该位于下面。
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<asp:label id="lblOutcome" runat="server" />
答案 3 :(得分:1)
您是否错过了表单声明中的runat =“server”?
<form id="form1" runat="server" enctype="multipart/form-data" method="post">
此外,如果命名空间不正确,您可能会收到错误,我已经看到它发生了,例如,在有人重命名解决方案并忘记更改所有文件中的命名空间之后。
否则,就像其他人告诉你的那样,看到实际错误会有助于批次
答案 4 :(得分:1)
语法类似于asp.net 2.0,但您的Web服务器在1.1模式下运行。
对于asp.net 1.1以下行:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="contact-form.aspx.cs" Inherits="_Emailer" %>
应该是:
<%@ Language="C#" Inherits="_Emailer" src="contact-form.aspx.cs" %>
如果您可以访问Web服务器,只需将.net Framework版本切换到v2.0即可,无需进行任何修改即可。如果不让我知道。
我为asp.net 1.1改写了你的代码隐藏....我是从内存中做到的,所以可能会有错误..
using System;
using System.Text;
using System.Web.Mail;
public class _Emailer : System.Web.UI.Page
{
protected void Page_Load(object sender, System.EventArgs e)
{
if(IsPostBack)
{
try
{
string output = "";
MailMessage mail = new MailMessage();
string hostAddress = "aaa.bbb.ccc.ddd";
string message = Request.Form["c_Message"].ToString();
message = message.Replace(Environment.NewLine, "<br />");
StringBuilder sb = new StringBuilder();
sb.AppendFormat("<p>Nom du Parent: {0}.</p>", Request.Form["c_Name"].ToString());
sb.AppendFormat("<p>Nom de votre enfant: {0}.</p>", Request.Form["c_Enfant"].ToString());
sb.AppendFormat("<p>Groupe: {0}.</p>", Request.Form["c_Groupe"].ToString());
sb.AppendFormat("<p>Numéro de téléphone: {0}.</p>", Request.Form["c_Tel"].ToString());
sb.AppendFormat("<p>J'aimerais être bénévole pour: {0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}.</p>",
Request.Form["La bibliothèque"].ToString(),
Request.Form["Aide en classe"].ToString(),
Request.Form["Aide pour les dîners pizza"].ToString(),
Request.Form["Aide aux devoirs après l’école"].ToString(),
Request.Form["Aménagement paysager (fleurs, arbustes à tailler…)"].ToString(),
Request.Form["Photo scolaire"].ToString(),
Request.Form["Accompagner les élèves lors des sorties"].ToString(),
Request.Form["Venir parler de votre métier dans une classe ou monter un atelier"].ToString()
);
sb.AppendFormat("<p>Autres: {0}.</p>", Request.Form["c_Autre"].ToString());
mail.Subject = "New e-mail.";
mail.From = "marcfavreau@cdsm.qc.ca";
mail.To = "toaddress@domain.com";
mail.Body = sb.ToString();
mail.BodyFormat = MailFormat.Html
SmtpMail.SmtpServer = hostAddress;
SmtpMail.Send(mail);
lblOutCome.Text = "E-mail sent successfully.";
}
catch (Exception err)
{
lblOutCome.Text = "There was an exception whilst sending the e-mail: " + err.ToString() + ".";
}
}
}
}
答案 5 :(得分:0)
看起来这个示例是使用.NET framework 1.1构建的,是您在IIS上为此应用程序设置的框架版本吗?您可能需要检查IIS设置以确保正确设置框架版本。
希望这有帮助!