Asp.net常用代码

        
        
1 . 打开新的窗口并传送参数: 传送参数: response.write( " <script>window.open('*.aspx?id= " + this .DropDownList1.SelectIndex + " &id1= " + ... + " ')</script> " ) 接收参数: string a = Request.QueryString( " id " ); string b = Request.QueryString( " id1 " ); 2 .为按钮添加对话框 Button1.Attributes.Add( " onclick " , " return confirm('确认?') " ); button.attributes.add( " onclick " , " if(confirm('are you sure...?')){return true;}else{return false;} " ) 3 .删除表格选定记录 int intEmpID = ( int )MyDataGrid.DataKeys[e.Item.ItemIndex]; string deleteCmd = " Delete from Employee where emp_id = " + intEmpID.ToString() 4 .删除表格记录警告 private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e) {   switch (e.Item.ItemType)  { case ListItemType.Item : case ListItemType.AlternatingItem : case ListItemType.EditItem:  TableCell myTableCell;  myTableCell = e.Item.Cells[ 14 ];  LinkButton myDeleteButton ;  myDeleteButton = (LinkButton)myTableCell.Controls[ 0 ];  myDeleteButton.Attributes.Add( " onclick " , " return confirm('您是否确定要删除这条信息'); " );   break ; default :   break ;  } } 5 .点击表格行链接另一页 private void grdCustomer_ItemDataBound( object sender, System.Web.UI.WebControls.DataGridItemEventArgs e) {   // 点击表格打开   if (e.Item.ItemType == ListItemType.Item e.Item.ItemType == ListItemType.AlternatingItem) e.Item.Attributes.Add( " onclick " , " window.open('Default.aspx?id= " + e.Item.Cells[ 0 ].Text + " '); " ); } 双击表格连接到另一页 在itemDataBind事件中 if (e.Item.ItemType == ListItemType.Item e.Item.ItemType == ListItemType.AlternatingItem) {   string orderItemID = e.item.cells[ 1 ].Text;  ...  e.item.Attributes.Add( " ondblclick " , " location.href='../ShippedGrid.aspx?id= " + orderItemID + " ' " ); } 双击表格打开新一页 if (e.Item.ItemType == ListItemType.Item e.Item.ItemType == ListItemType.AlternatingItem) {   string orderItemID = e.item.cells[ 1 ].Text;  ...  e.item.Attributes.Add( " ondblclick " , " open('../ShippedGrid.aspx?id= " + orderItemID + " ') " ); } 6 .表格超连接列传递参数 <asp:HyperLinkColumn Target = " _blank " headertext = " ID号 " DataTextField = " id " NavigateUrl = " aaa.aspx?id='  < % # DataBinder.Eval(Container.DataItem, " 数据字段1 " ) % ' & name= ' % # DataBinder.Eval(Container.DataItem, " 数据字段2 " ) % ' /> 7 .表格点击改变颜色 if (e.Item.ItemType == ListItemType.Item e.Item.ItemType == ListItemType.AlternatingItem) {  e.Item.Attributes.Add( " onclick " , " this.style.backgroundColor='#99cc00';   this .style.color = ' buttontext ' ; this .style.cursor = ' default ' ; " ); } 写在DataGrid的_ItemDataBound里 if (e.Item.ItemType == ListItemType.Item e.Item.ItemType == ListItemType.AlternatingItem) { e.Item.Attributes.Add( " onmouseover " , " this.style.backgroundColor='#99cc00';   this .style.color = ' buttontext ' ; this .style.cursor = ' default ' ; " ); e.Item.Attributes.Add( " onmouseout " , " this.style.backgroundColor='';this.style.color=''; " ); } 8 .关于日期格式 日期格式设定 DataFormatString = " {0:yyyy-MM-dd} " 我觉得应该在itembound事件中 e.items.cell[ " 你的列 " ].text = DateTime.Parse(e.items.cell[ " 你的列 " ].text.ToString( " yyyy-MM-dd " )) 9 .获取错误信息并到指定页面 不要使用Response.Redirect,而应该使用Server.Transfer e.g // in global.asax protected void Application_Error(Object sender, EventArgs e) { if (Server.GetLastError() is HttpUnhandledException) Server.Transfer( " MyErrorPage.aspx " ); // 其余的非HttpUnhandledException异常交给ASP.NET自己处理就okay了 :) } Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 10 .清空Cookie Cookie.Expires = [DateTime]; Response.Cookies( " UserName " ).Expires = 0 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> 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.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 " + " /" " );  } }
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值