惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
V
Vulnerabilities – Threatpost
TaoSecurity Blog
TaoSecurity Blog
C
Cybersecurity and Infrastructure Security Agency CISA
P
Proofpoint News Feed
G
GRAHAM CLULEY
S
Securelist
P
Palo Alto Networks Blog
MongoDB | Blog
MongoDB | Blog
A
Arctic Wolf
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
Project Zero
Project Zero
T
Threat Research - Cisco Blogs
L
Lohrmann on Cybersecurity
C
Cyber Attacks, Cyber Crime and Cyber Security
F
Fortinet All Blogs
博客园 - 叶小钗
B
Blog RSS Feed
C
Cisco Blogs
Google DeepMind News
Google DeepMind News
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
K
Kaspersky official blog
D
Docker
Latest news
Latest news
Cisco Talos Blog
Cisco Talos Blog
T
Tor Project blog
Cyberwarzone
Cyberwarzone
Security Latest
Security Latest
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Spread Privacy
Spread Privacy
Microsoft Azure Blog
Microsoft Azure Blog
C
Check Point Blog
J
Java Code Geeks
Simon Willison's Weblog
Simon Willison's Weblog
T
Tenable Blog
Recent Announcements
Recent Announcements
T
Tailwind CSS Blog
H
Help Net Security
L
LINUX DO - 热门话题
T
The Exploit Database - CXSecurity.com
Jina AI
Jina AI
S
SegmentFault 最新的问题
MyScale Blog
MyScale Blog
NISL@THU
NISL@THU
美团技术团队
腾讯CDC

博客园 - 海蓝心

业余时间折腾了个微信小程序版本的街机游戏模拟器(吾爱街机),8090后的童年回忆,欢迎大家体验 Flex Formatter (flex ide 代码格式工具) 安装Android 开发工具 (二) Android 是什么 (一) 个性化印品DIY制作软件《光影21度》(.net客户端与flex通信技术) flash 电子相册 功能强大 在线传输软件 支持断点续传 flex版 个性化数码印刷在线diy 学习XSLT的知识积累 XMLHttpRequest介绍 委托学习笔记二(多播委托) 委托学习笔记一(调用委托) 委托和事件— 一个虚构的故事 ASP.NET程序中常用的三十三种代码(5) ASP.NET程序中常用的三十三种代码(6) ASP.NET程序中常用的三十三种代码(3) ASP.NET程序中常用的三十三种代码(4) ASP.NET程序中常用的三十三种代码(1) C#有关基础知识汇集
ASP.NET程序中常用的三十三种代码(2)
海蓝心 · 2005-11-18 · via 博客园 - 海蓝心

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
  } 
  

posted on 2005-11-18 10:41  海蓝心  阅读(275)  评论()    收藏  举报