私はフォーム上に以下のコードを書いているので、ユーザーがフォームを送信して送信し、電子メールを送ります。私は2つのresponse.writeステートメントを持っており、これらをラベル(lblSubmit)に書き込むように変更したいと考えています。どんな助けもありがとう。Response.Write to label
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
SmtpClient sc = new SmtpClient("smtp.talktalk.net");
StringBuilder sb = new StringBuilder();
MailMessage msg = null;
sb.Append("Email from: " + txtEmail.Text + "\n");
sb.Append("Message : " + txtQuestion.Text + "\n");
try
{
msg = new MailMessage(txtEmail.Text,
"[email protected]", "Message from Web Site",
sb.ToString());
sc.Send(msg);
Response.Write("Message sent!");
}
catch (Exception ex)
{
// something bad happened
Response.Write("Something bad happened!");
}
finally
{
if (msg != null)
{
msg.Dispose();
}
}
}
}
</script>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<div id="title"><p>Contact Us...</p></div>
<div id="titletext"><p>Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book.</p></div>
<div id="contactform">
<asp:Label ID="lblName" runat="server" Text="Name:"></asp:Label>
<asp:TextBox ID="txtName" runat="server" Width="189px"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server"
ControlToValidate="txtName" ErrorMessage="Please enter your name"
ForeColor="Red" Display="Dynamic"></asp:RequiredFieldValidator>
<br /><br />
<asp:Label ID="lblEmail" runat="server" Text="Email:"></asp:Label>
<asp:TextBox ID="txtEmail" runat="server" Width="189px"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
ControlToValidate="txtEmail" Display="Dynamic" ErrorMessage="Please enter an email address"
ForeColor="Red"></asp:RequiredFieldValidator>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtEmail" ErrorMessage="Please enter a valid Email address"
ForeColor="Red"
ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"
Display="Dynamic"></asp:RegularExpressionValidator>
<br />
<br />
<asp:Label ID="lblPhone" runat="server" Text="Phone:"></asp:Label>
<asp:TextBox ID="txtPhone" runat="server" Width="189px"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server"
ControlToValidate="txtPhone"
ErrorMessage="Please enter a contact telephone number" ForeColor="Red"
Display="Dynamic"></asp:RequiredFieldValidator>
<br />
<asp:Label ID="lblQuestion" runat="server" Text="Question:"></asp:Label>
<asp:TextBox ID="txtQuestion" runat="server" Height="103px" TextMode="MultiLine"
Width="189px"></asp:TextBox>
<br />
<asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server"
ControlToValidate="txtQuestion" ErrorMessage="Please enter a message"
ForeColor="Red"></asp:RequiredFieldValidator>
<asp:Label ID="lblSubmit" runat="server"></asp:Label>
<asp:Button ID="cmdSubmit" runat="server" Text="Submit" CssClass="cmdSubmit"
onclick="cmdSubmit_Click" PostBackUrl="~/Contact Us.aspx" />
</div>
</asp:Content>
ありがとうございます:) – user1300580
こんにちは、catchステートメントは私が探しているもので、実際にエラーメッセージではなく、「何か悪いことが起こった」というメッセージを表示する方法についての助けに感謝します。ありがとうございます – user1300580
@ user1300580:あなたがキャッチしている 'ex'オブジェクトを見てください:http://msdn.microsoft.com/en-us/library/system.exception.aspx '.Message'(エラーメッセージ)と' .StackTrace'(エラーが発生した場所)です。注目すべきは、値がアプリケーションのロジックに違反したときに、カスタム例外を作成してスローすることができることです。たとえば、 'int'引数を持つ関数があり、' int'が '> 0'であれば、' new ArgumentException( "値は正の整数でなければなりません。")と言うことができます。 – David