asp.net非常实用语句21-26条(转载)

21 .自定义异常处理 

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

  
///  <summary> 
  
///  从系统异常类ApplicationException继承的应用程序异常处理类。 
  
///  自动将异常内容记录到Windows NT/2000的应用程序日志 
  
///  </summary> 
   public   class  AppException:System.ApplicationException 
  { 
  
public  AppException() 
  { 
  
if  (ApplicationConfiguration.EventLogEnabled)LogEvent( & quot;出现一个未知错误。 & quot;); 
  } 
  
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(
& quot;\r\n & quot;); 
  } 
  strBuilder.Append(ex.Message).Append(
& quot;\r\n & quot;).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( & quot;Application & quot;, ApplicationConfiguration.EventLogMachineName, ApplicationConfiguration.EventLogSourceName ); 
  
// 写入事件日志 
  eventLog.WriteEntry(messageText, LogEntryType); 
  } 
  
catch  {}  // 忽略任何异常 
  } 
  } 
// class ApplicationLog 



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


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


23 .回车转换成Tab 
(
1


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


(
2 )   // 当在有keydown事件的控件上敲回车时,变为tab 


public   void  Tab(System.Web .UI.WebControls .WebControl webcontrol) 

webcontrol.Attributes .Add (
& quot;onkeydown & quot;,  & quot; if ( event .keyCode == 13 event .keyCode = 9 & quot;); 

24 .DataGrid超级连接列 
DataNavigateUrlField
=& quot;字段名 & quot; DataNavigateUrlFormatString =& quot;http: // xx/inc/delete.aspx?ID={0}" 


25 .DataGrid行随鼠标变色 


private   void  DGzf_ItemDataBound( object  sender, System.Web.UI.WebControls.DataGridItemEventArgs e) 

  
if  (e.Item.ItemType != ListItemType.Header) 
  { 
  e.Item.Attributes.Add( 
& quot;onmouseout & quot;, & quot; this .style.backgroundColor = \ & quot; & quot; + e.Item.Style[ & quot;BACKGROUND - COLOR & quot;] +& quot;\ & quot; & quot;); 
  e.Item.Attributes.Add( 
& quot;onmouseover & quot;, & quot; this .style.backgroundColor = \ & quot; & quot; +   & quot;#EFF3F7 & quot; +& quot;\ & quot; & quot;); 
  } 



26 .模板列 


<ASP:TEMPLATECOLUMN visible
=& quot;False & quot; sortexpression =& quot;demo & quot; 

headertext
=& quot;ID & quot;> 
<ITEMTEMPLATE> 
<ASP LABEL text
= ’< % # DataBinder.Eval(Container.DataItem, 

& quot;ArticleID & quot;) % >’ runat =& quot;server & quot; width =& quot; 80 %& quot; 

id
=& quot;lblColumn & quot;  / > 
/ ITEMTEMPLATE> 
/ ASP:TEMPLATECOLUMN> 
<ASP:TEMPLATECOLUMN headertext
=& quot;选中 & quot;> 
<HEADERSTYLE wrap
=& quot;False & quot; horiz>< / HEADERSTYLE> 
<ITEMTEMPLATE> 
<ASP:CHECKBOX id
=& quot;chkExport & quot; runat =& quot;server & quot;  / > 
/ ITEMTEMPLATE> 
<EDITITEMTEMPLATE> 
<ASP:CHECKBOX id
=& quot;chkExportON & quot; runat =& quot;server & quot; 

enabled
=& quot; true & quot;  / > 
/ EDITITEMTEMPLATE> 
/ ASP:TEMPLATECOLUMN> 


后台代码 


protected   void  CheckAll_CheckedChanged( object  sender, System.EventArgs e) 

  
// 改变列的选定,实现全选或全不选。 
  CheckBox chkExport ; 
  
if ( CheckAll.Checked) 
  { 
  
foreach (DataGridItem oDataGridItem  in  MyDataGrid.Items) 
  { 
  chkExport 
=  (CheckBox)oDataGridItem.FindControl( & quot;chkExport & quot;); 
  chkExport.Checked 
=   true
  } 
  } 
  
else  
  { 
  
foreach (DataGridItem oDataGridItem  in  MyDataGrid.Items) 
  { 
  chkExport 
=  (CheckBox)oDataGridItem.FindControl( & quot;chkExport & quot;); 
  chkExport.Checked 
=   false
  } 
  } 
}

 

文章出处:http://topic.csdn.net/u/20080916/12/e16bf1c5-9344-4e03-83aa-bd4ebd84f6ad.html

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值