パート 8: 最終ページ、例外処理、および結論
Joe Stagner 著 |2010 年 7 月 21 日
印刷
Tailspin yworks は、強力でスケーラブルなツールを作成することがいかに簡単であるかを示しています。 .NET プラットフォーム用のアプリケーション。ASP.NET 4 の優れた新機能を使用して、ショッピング、チェックアウト、管理などのオンライン ストアを構築する方法を示します。
Tailspin Spyworks による強力なアプリケーションを簡単に作成できるデモ、.NET プラットフォームを使用した、適切に構造化されたアプリケーション。 ASP.NET 4 の新機能を使用して、ショッピング、チェックアウト、管理機能を含むオンライン ストアを作成する方法を示します。
このチュートリアル シリーズでは、Tailspin Spyworks サンプル アプリケーションを構築するために必要なすべての手順を詳しく説明します。パート 8 では、問い合わせページ、概要ページ、および例外処理を追加します。ケース手順の各ステップが詳細に説明されています。パート 8 では、お問い合わせページ、ページおよび例外処理について追加されており、シリーズ全体の概要でもあります。
連絡先ページ (Asp.net から電子メールを送信)
デザイナーを使用して、ToolkitScriptManager とAjaxdControlToolkit の Editor コントロール。
Ajax コントロール パッケージを使用して次のページをデザインします。
「送信」ボタンをダブルクリックするとクリックイベント処理関数が生成され、メール送信機能が完了します。
protected void ImageButton_Submit_Click(object sender, ImageClickEventArgs e) { try { MailMessage mMailMessage = new MailMessage(); mMailMessage.From = new MailAddress(HttpUtility.HtmlEncode(TextBoxEmail.Text)); mMailMessage.To.Add(new MailAddress("Your Email Here")); // mMailMessage.Bcc.Add(new MailAddress(bcc)); // mMailMessage.CC.Add(new MailAddress(cc)); mMailMessage.Subject = "From:" + HttpUtility.HtmlEncode(TextBoxYourName.Text) + "-" + HttpUtility.HtmlEncode(TextBoxSubject.Text); mMailMessage.Body = HttpUtility.HtmlEncode(EditorEmailMessageBody.Content); mMailMessage.IsBodyHtml = true; mMailMessage.Priority = MailPriority.Normal; SmtpClient mSmtpClient = new SmtpClient(); mSmtpClient.Send(mMailMessage); LabelMessage.Text = "Thank You - Your Message was sent."; } catch (Exception exp) { throw new Exception("ERROR: Unable to Send Contact - " + exp.Message.ToString(), exp); }}
このコードでは、web.config ファイルの構成セクションに、メールの送信に使用する SMTP サーバーを指定するエントリが含まれている必要があります。
このコードでは、web.config ファイルの構成セクションに、メールの送信に使用する SMTP サーバー。
<system.net> <mailSettings> <smtp> <network host="mail..com" port="25" userName="" password="" /> </smtp> </mailSettings> </system.net>
概要ページ
グローバル例外処理
未処理の例外が Web サイト訪問者に表示されることは決して望ましくありません。
未処理の例外が Web サイト訪問者に表示されることは決して望まれません。
ひどいユーザー エクスペリエンスのほかに、セキュリティ上の問題も発生します。
この問題を解決するには、グローバル例外ハンドラーを実装します。
この問題を解決するには、グローバル例外ハンドラーを実装します。
これを行うには、Global.asax ファイルを開いて、次の事前生成されたイベント ハンドラーに注目してください。
Global.asax ファイルを開いて、次の自動生成されたコードに注目してください:
void Application_Error(object sender, EventArgs e) { // Code that runs when an unhandled error occurs }
次のように Application_Error ハンドラーを実装するコードを追加します。
次のコードを追加します:
void Application_Error(object sender, EventArgs e) { Exception myEx = Server.GetLastError(); String RedirectUrlString = "~/Error.aspx?InnerErr=" + myEx.InnerException.Message.ToString() + "&Err=" + myEx.Message.ToString(); Response.Redirect(RedirectUrlString); }
次に、Error.aspx という名前のページをソリューションに追加し、このマークアップ スニペットを追加します。
Error.aspx という名前のページを追加し、次のマークアップを追加します:
<center> <div class="ContentHead">ERROR</div><br /><br /> <asp:Label ID="Label_ErrorFrom" runat="server" Text="Label"></asp:Label><br /><br /> <asp:Label ID="Label_ErrorMessage" runat="server" Text="Label"></asp:Label><br /><br /></center>
Page_Load イベント ハンドラーの抽出に追加Request オブジェクトからのエラー メッセージ。
Page_Load イベント ハンドラーに実際のエラー メッセージを実装します。
概要
ASP.NET WebForms を使用すると、データベース アクセス、メンバーシップ、AJAX などを備えた洗練された Web サイトを非常に迅速に簡単に作成できることがわかりました。