ASP.NET程序中常用代码汇总(二)

系统 1908 0

11.自定义异常处理

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

namespace MyAppException
{
/**/ /// <summary>
/// 从系统异常类ApplicationException继承的应用程序异常处理类。
/// 自动将异常内容记录到WindowsNT/2000的应用程序日志
/// </summary>

public class AppException:System.ApplicationException
{
public AppException()
{
if (ApplicationConfiguration.EventLogEnabled)LogEvent( " 出现一个未知错误。 " );
  }


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


public AppException( string message,ExceptioninnerException)
{
  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事件日志中
/// <paramname="message">需要记录的文本信息</param>
/// </summary>

public static void WriteError(Stringmessage)
{
    WriteLog(TraceLevel.Error,message);
   }


/**/ /// <summary>
/// 将警告信息记录到Win2000/NT事件日志中
/// <paramname="message">需要记录的文本信息</param>
/// </summary>

public static void WriteWarning(Stringmessage)
{
    WriteLog(TraceLevel.Warning,message);  
   }


/**/ /// <summary>
/// 将提示信息记录到Win2000/NT事件日志中
/// <paramname="message">需要记录的文本信息</param>
/// </summary>

public static void WriteInfo(Stringmessage)
{
    WriteLog(TraceLevel.Info,message);
   }

/**/ /// <summary>
/// 将跟踪信息记录到Win2000/NT事件日志中
/// <paramname="message">需要记录的文本信息</param>
/// </summary>

public static void WriteTrace(Stringmessage)
{
    WriteLog(TraceLevel.Verbose,message);
   }


/**/ /// <summary>
/// 格式化记录到事件日志的文本信息格式
/// <paramname="ex">需要格式化的异常对象</param>
/// <paramname="catchInfo">异常信息标题字符串.</param>
/// <retvalue>
/// <para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>
/// </retvalue>
/// </summary>

public static StringFormatException(Exceptionex,StringcatchInfo)
{
    StringBuilderstrBuilder
= 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>
/// 实际事件日志写入方法
/// <paramname="level">要记录信息的级别(error,warning,info,trace).</param>
/// <paramname="messageText">要记录的文本.</param>
/// </summary>

private static void WriteLog(TraceLevellevel,StringmessageText)
{
try
{
     EventLogEntryTypeLogEntryType;
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 ;
     }


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

    }

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

 }
// classApplicationLog
}


12.Panel 横向滚动,纵向自动扩展
<asp:panelstyle="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13.回车转换成Tab
<scriptlanguage = " 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>

onkeydown
= " 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.DataGridItemEventArgse)
{
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 " + " \ "" );
 }

}


16.模板列
<ASP:TEMPLATECOLUMNvisible="False"sortexpression="demo"headertext="ID">
<ITEMTEMPLATE>
<ASP:LABELtext=’<%#DataBinder.Eval(Container.DataItem,"ArticleID")%>’runat="server"width="80%"id="lblColumn"/>
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>

<ASP:TEMPLATECOLUMNheadertext="选中">
<HEADERSTYLEwrap="False"horizontalalign="Center"></HEADERSTYLE>
<ITEMTEMPLATE>
<ASP:CHECKBOXid="chkExport"runat="server"/>
</ITEMTEMPLATE>
<EDITITEMTEMPLATE>
<ASP:CHECKBOXid="chkExportON"runat="server"enabled="true"/>
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
后台代码


protected void CheckAll_CheckedChanged( object sender,System.EventArgse)
{
// 改变列的选定,实现全选或全不选。
 CheckBoxchkExport;
if (CheckAll.Checked)
{
foreach (DataGridItemoDataGridItem in MyDataGrid.Items)
{
   chkExport
= (CheckBox)oDataGridItem.FindControl( " chkExport " );
   chkExport.Checked
= true ;
  }

 }

else
{
foreach (DataGridItemoDataGridItem in MyDataGrid.Items)
{
   chkExport
= (CheckBox)oDataGridItem.FindControl( " chkExport " );
   chkExport.Checked
= false ;
  }

 }

}

17.数字格式化
【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】


<%#Container.DataItem("price","{0:¥#,##0.00}")%>

inti=123456;
strings=i.ToString("###,###.00");
</di
分享到:
评论

ASP.NET程序中常用代码汇总(二)


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论