当前位置: 移动技术网 > IT编程>开发语言>.net > ASP.NET中常用的三十三种代码第1/7页

ASP.NET中常用的三十三种代码第1/7页

2018年04月28日  | 移动技术网IT编程  | 我要评论

d18次,ca4349航班,中山大学在职研究生


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 

2

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网