0

エラーをトラップしてエラーの詳細をデータベースに保存し、クラシック ASP のカスタム エラー ページにリダイレクトする方法は?

Web サイトのすべてのページに ASP ページを含める必要があり、エラーが発生した場合は、そのエラーの詳細を取得し、データベースに保存するか、メール ID にメールして、カスタム エラー ページにリダイレクトします。何か考えがあれば、私を助けてください。

4

2 に答える 2

0

エラーをキャッチするには、javascript で try catch メソッドを使用します。catch ブロック内で、データをサーバーにポストします。サーバーには、使い慣れた aspx ページまたは php ページがあります。この投稿からパラメータとして挿入されるデータを aspx/php ファイルに取得し、そのファイルから DB に挿入します。

    <script>
    var txt="";
    function ProcessData()
     {
      try
       {
           ....
       }
     catch(err)
       {
          var message = err.message;

            $ajax({
                  type:"POST",
                  url:"Errorhandler.aspx/InsertErrordetails",

                  data:"{error: '" + message + "'}",

                  clientType:"application/json; charset=utf-8",
                  datatype:"json",
                  async: false,
                  success: function () { alert("success"); },
                  error: function(){alert("error");}
                  });


  }
}
</script>

サーバー側のコードは次のようになります。

public static void InsertErrordetails(string error)
 {
   SqlConnection Con = new SqlConnection(@"Server=db;Integrated Security=True;" +          "Database=userdb");

    string query = "INSERT INTO [LogTable]([Message])" +
            "VALUES (@error)";

    SqlCommand cmd = new SqlCommand(query, Con);
    cmd.Parameters.AddWithValue("@Message", error);

    try
     {
       Con.Open();

      cmd.ExecuteNonQuery();
     }
    catch (Exception)
      {
        throw;
      }
    finally
      {
         Con.Close();
      }

}
于 2013-04-26T11:33:53.463 に答える