ASP.NET 常用代码 2

    技术2022-05-11  67

    11.自定义异常处理

    //自定义异常处理类  using System; using System.Diagnostics;

    namespace MyAppException {  /// <summary>  /// 从系统异常类ApplicationException继承的应用程序异常处理类。  /// 自动将异常内容记录到Windows NT/2000的应用程序日志  /// </summary>  public class AppException:System.ApplicationException  {   public AppException()   {    if (ApplicationConfiguration.EventLogEnabled)LogEvent("出现一个未知错误。");   }

     public AppException(string message)  {   LogEvent(message);  }

     public AppException(string message,Exception innerException)  {   LogEvent(message);   if (innerException != null)   {    LogEvent(innerException.Message);   }  }

     //日志记录类  using System;  using System.Configuration;  using System.Diagnostics;  using System.IO;  using System.Text;  using System.Threading;

     namespace MyEventLog  {   /// <summary>   /// 事件日志记录类,提供事件日志记录支持    /// <remarks>   /// 定义了4个日志记录方法 (error, warning, info, trace)    /// </remarks>   /// </summary>   public class ApplicationLog   {    /// <summary>    /// 将错误信息记录到Win2000/NT事件日志中    /// <param name="message">需要记录的文本信息</param>    /// </summary>    public static void WriteError(String message)    {     WriteLog(TraceLevel.Error, message);    }

       /// <summary>    /// 将警告信息记录到Win2000/NT事件日志中    /// <param name="message">需要记录的文本信息</param>    /// </summary>    public static void WriteWarning(String message)    {     WriteLog(TraceLevel.Warning, message);      }

       /// <summary>    /// 将提示信息记录到Win2000/NT事件日志中    /// <param name="message">需要记录的文本信息</param>    /// </summary>    public static void WriteInfo(String message)    {     WriteLog(TraceLevel.Info, message);    }    /// <summary>    /// 将跟踪信息记录到Win2000/NT事件日志中    /// <param name="message">需要记录的文本信息</param>    /// </summary>    public static void WriteTrace(String message)    {     WriteLog(TraceLevel.Verbose, message);    }

       /// <summary>    /// 格式化记录到事件日志的文本信息格式    /// <param name="ex">需要格式化的异常对象</param>    /// <param name="catchInfo">异常信息标题字符串.</param>    /// <retvalue>    /// <para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>    /// </retvalue>    /// </summary>    public static String FormatException(Exception ex, String catchInfo)    {     StringBuilder strBuilder = new StringBuilder();     if (catchInfo != String.Empty)     {      strBuilder.Append(catchInfo).Append("/r/n");     }     strBuilder.Append(ex.Message).Append("/r/n").Append(ex.StackTrace);     return strBuilder.ToString();    }

       /// <summary>    /// 实际事件日志写入方法    /// <param name="level">要记录信息的级别(error,warning,info,trace).</param>    /// <param name="messageText">要记录的文本.</param>    /// </summary>    private static void WriteLog(TraceLevel level, String messageText)    {     try     {       EventLogEntryType LogEntryType;      switch (level)      {       case TraceLevel.Error:        LogEntryType = EventLogEntryType.Error;        break;       case TraceLevel.Warning:        LogEntryType = EventLogEntryType.Warning;        break;       case TraceLevel.Info:        LogEntryType = EventLogEntryType.Information;        break;       case TraceLevel.Verbose:        LogEntryType = EventLogEntryType.SuccessAudit;        break;       default:        LogEntryType = EventLogEntryType.SuccessAudit;        break;      }

         EventLog eventLog = new EventLog("Application", ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName );      //写入事件日志      eventLog.WriteEntry(messageText, LogEntryType);

        }    catch {} //忽略任何异常   }   } //class ApplicationLog } 

    12.Panel 横向滚动,纵向自动扩展

    <asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel> 

      13.回车转换成Tab 

    <script language="javascript" for="document" event="onkeydown">  if(event.keyCode==13 && event.srcElement.type!=’button’ && event.srcElement.type!=’submit’ &&     event.srcElement.type!=’reset’ && event.srcElement.type!=’’&& event.srcElement.type!=’textarea’);     event.keyCode=9; </script>

    οnkeydοwn="if(event.keyCode==13) event.keyCode=9"  

      14.DataGrid超级连接列

    DataNavigateUrlField="字段名" DataNavigateUrlFormatString="http://xx/inc/delete.aspx?ID={0}" 

      15.DataGrid行随鼠标变色

    private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {  if (e.Item.ItemType!=ListItemType.Header)  {   e.Item.Attributes.Add( "onmouseout","this.style.backgroundColor=/""+e.Item.Style["BACKGROUND-COLOR"]+"/"");   e.Item.Attributes.Add( "onmouseover","this.style.backgroundColor=/""+ "#EFF3F7"+"/"");  } } 

     


    最新回复(0)