正文

asp.net常用函数精粹[2]2008-07-24 10:21:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/yzrj/37040.html

分享到:

11.//获取" . "后面的字符   i.ToString().Trim().Substring(i.ToString().Trim().LastIndexOf(".")+1).ToLower().Trim()   12. 打开新的窗口并传送参数:   传送参数:   response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")   接收参数:   string a = Request.QueryString("id"); string b = Request.QueryString("id1");   12.为按钮添加对话框   Button1.Attributes.Add("onclick","return confirm(’确认?’)"); button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")   13.删除表格选定记录   int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex]; string deleteCmd = "Delete from Employee where emp_id = " + intEmpID.ToString()   14.删除表格记录警告   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;   } }   15.点击表格行链接另一页   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 + "’)"); }     16.表格超连接列传递参数   <asp:HyperLinkColumn Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=’   <%# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>’ />   17.表格点击改变颜色   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=’’;"); }   18.关于日期格式   日期格式设定 DataFormatString="{0:yyyy-MM-dd}"   我觉得应该在itembound事件中 e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd")) 19.获取错误信息并到指定页面 不要使用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的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 20.清空Cookie   Cookie.Expires=[DateTime]; Response.Cookies("UserName").Expires = 0   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("出现一个未知错误。");   }   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 }  

阅读(1629) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册