相关链接:
11.自定义异常处理
//
自定义异常处理类
using
System;
using
System.Diagnostics;

namespace
MyAppException

{

/**////<summary>
///从系统异常类ApplicationException继承的应用程序异常处理类。
///自动将异常内容记录到WindowsNT/2000的应用程序日志
///</summary>
publicclassAppException:System.ApplicationException

{
publicAppException()

{
if(ApplicationConfiguration.EventLogEnabled)LogEvent("出现一个未知错误。");
}

publicAppException(stringmessage)

{
LogEvent(message);
}

publicAppException(stringmessage,ExceptioninnerException)

{
LogEvent(message);
if(innerException!=null)

{
LogEvent(innerException.Message);
}
}

//日志记录类
usingSystem;
usingSystem.Configuration;
usingSystem.Diagnostics;
usingSystem.IO;
usingSystem.Text;
usingSystem.Threading;

namespaceMyEventLog

{

/**////<summary>
///事件日志记录类,提供事件日志记录支持
///<remarks>
///定义了4个日志记录方法(error,warning,info,trace)
///</remarks>
///</summary>
publicclassApplicationLog

{

/**////<summary>
///将错误信息记录到Win2000/NT事件日志中
///<paramname="message">需要记录的文本信息</param>
///</summary>
publicstaticvoidWriteError(Stringmessage)

{
WriteLog(TraceLevel.Error,message);
}


/**////<summary>
///将警告信息记录到Win2000/NT事件日志中
///<paramname="message">需要记录的文本信息</param>
///</summary>
publicstaticvoidWriteWarning(Stringmessage)

{
WriteLog(TraceLevel.Warning,message);
}


/**////<summary>
///将提示信息记录到Win2000/NT事件日志中
///<paramname="message">需要记录的文本信息</param>
///</summary>
publicstaticvoidWriteInfo(Stringmessage)

{
WriteLog(TraceLevel.Info,message);
}

/**////<summary>
///将跟踪信息记录到Win2000/NT事件日志中
///<paramname="message">需要记录的文本信息</param>
///</summary>
publicstaticvoidWriteTrace(Stringmessage)

{
WriteLog(TraceLevel.Verbose,message);
}


/**////<summary>
///格式化记录到事件日志的文本信息格式
///<paramname="ex">需要格式化的异常对象</param>
///<paramname="catchInfo">异常信息标题字符串.</param>
///<retvalue>
///<para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>
///</retvalue>
///</summary>
publicstaticStringFormatException(Exceptionex,StringcatchInfo)

{
StringBuilderstrBuilder=newStringBuilder();
if(catchInfo!=String.Empty)

{
strBuilder.Append(catchInfo).Append("/r/n");
}
strBuilder.Append(ex.Message).Append("/r/n").Append(ex.StackTrace);
returnstrBuilder.ToString();
}


/**////<summary>
///实际事件日志写入方法
///<paramname="level">要记录信息的级别(error,warning,info,trace).</param>
///<paramname="messageText">要记录的文本.</param>
///</summary>
privatestaticvoidWriteLog(TraceLevellevel,StringmessageText)

{
try

{
EventLogEntryTypeLogEntryType;
switch(level)

{
caseTraceLevel.Error:
LogEntryType=EventLogEntryType.Error;
break;
caseTraceLevel.Warning:
LogEntryType=EventLogEntryType.Warning;
break;
caseTraceLevel.Info:
LogEntryType=EventLogEntryType.Information;
break;
caseTraceLevel.Verbose:
LogEntryType=EventLogEntryType.SuccessAudit;
break;
default:
LogEntryType=EventLogEntryType.SuccessAudit;
break;
}

EventLogeventLog=newEventLog("Application",ApplicationConfiguration.EventLogMachineName,ApplicationConfiguration.EventLogSourceName);
//写入事件日志
eventLog.WriteEntry(messageText,LogEntryType);

}

catch
{}//忽略任何异常
}
}//classApplicationLog
}

12.Panel 横向滚动,纵向自动扩展
<asp:panelstyle="overflow-x:scroll;overflow-y:auto;"></asp:panel>
13.回车转换成Tab
<scriptlanguage
=
"
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.DataGridItemEventArgse)

{
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"+"/"");
}
}

16.模板列
<ASP:TEMPLATECOLUMNvisible="False"sortexpression="demo"headertext="ID">
<ITEMTEMPLATE>
<ASP:LABELtext=’<%#DataBinder.Eval(Container.DataItem,"ArticleID")%>’runat="server"width="80%"id="lblColumn"/>
</ITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>

<ASP:TEMPLATECOLUMNheadertext="选中">
<HEADERSTYLEwrap="False"horizontalalign="Center"></HEADERSTYLE>
<ITEMTEMPLATE>
<ASP:CHECKBOXid="chkExport"runat="server"/>
</ITEMTEMPLATE>
<EDITITEMTEMPLATE>
<ASP:CHECKBOXid="chkExportON"runat="server"enabled="true"/>
</EDITITEMTEMPLATE>
</ASP:TEMPLATECOLUMN>
后台代码


protected
void
CheckAll_CheckedChanged(
object
sender,System.EventArgse)

{
//改变列的选定,实现全选或全不选。
CheckBoxchkExport;
if(CheckAll.Checked)

{
foreach(DataGridItemoDataGridIteminMyDataGrid.Items)

{
chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked=true;
}
}
else

{
foreach(DataGridItemoDataGridIteminMyDataGrid.Items)

{
chkExport=(CheckBox)oDataGridItem.FindControl("chkExport");
chkExport.Checked=false;
}
}
}
17.数字格式化
【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】


<%#Container.DataItem("price","{0:¥#,##0.00}")%>

inti=123456;
strings=i.ToString("###,###.00");
18.日期格式化
【aspx页面内:<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date")%>
显示为: 2004-8-11 19:44:28
我只想要:2004-8-11 】
<%# DataBinder.Eval(Container.DataItem,"Company_Ureg_Date","{0:yyyy-M-d}")%>
应该如何改?
【格式化日期】
取出来,一般是object((DateTime)objectFromDB).ToString("yyyy-MM-dd");
【日期的验证表达式】
A.以下正确的输入格式: [2004-2-29], [2004-02-29 10:29:39 pm], [2004/12/31]
^((/d{2}(([02468][048])|([13579][26]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|([1-2][0-9])))))|(/d{2}(([02468][1235679])|([13579][01345789]))[/-///s]?((((0?[13578])|(1[02]))[/-///s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))[/-///s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2[/-///s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))(/s(((0?[1-9])|(1[0-2]))/:([0-5][0-9])((/s)|(/:([0-5][0-9])/s))([AM|PM|am|pm]{2,2})))?$
B.以下正确的输入格式:[0001-12-31], [9999 09 30], [2002/03/03]
^/d{4}[/-///s]?((((0[13578])|(1[02]))[/-///s]?(([0-2][0-9])|(3[01])))|(((0[469])|(11))[/-///s]?(([0-2][0-9])|(30)))|(02[/-///s]?[0-2][0-9]))$
19【大小写转换】
HttpUtility.HtmlEncode(string);
HttpUtility.HtmlDecode(string)
;
20.如何设定全局变量
Global.asax中
Application_Start()事件中
添加Application[属性名] = xxx;