ASP.NET程序中常用代码汇总(二)
系统
2067 0
11.自定义异常处理
//
自定义异常处理类
using
System;
using
System.Diagnostics;
namespace
MyAppException
{
/**/
///
<summary>
///
从系统异常类ApplicationException继承的应用程序异常处理类。
///
自动将异常内容记录到WindowsNT/2000的应用程序日志
///
</summary>
public
class
AppException:System.ApplicationException
{
public
AppException()
{
if
(ApplicationConfiguration.EventLogEnabled)LogEvent(
"
出现一个未知错误。
"
);
}
public
AppException(
string
message)
{
LogEvent(message);
}
public
AppException(
string
message,ExceptioninnerException)
{
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事件日志中
///
<paramname="message">需要记录的文本信息</param>
///
</summary>
public
static
void
WriteError(Stringmessage)
{
WriteLog(TraceLevel.Error,message);
}
/**/
///
<summary>
///
将警告信息记录到Win2000/NT事件日志中
///
<paramname="message">需要记录的文本信息</param>
///
</summary>
public
static
void
WriteWarning(Stringmessage)
{
WriteLog(TraceLevel.Warning,message);
}
/**/
///
<summary>
///
将提示信息记录到Win2000/NT事件日志中
///
<paramname="message">需要记录的文本信息</param>
///
</summary>
public
static
void
WriteInfo(Stringmessage)
{
WriteLog(TraceLevel.Info,message);
}
/**/
///
<summary>
///
将跟踪信息记录到Win2000/NT事件日志中
///
<paramname="message">需要记录的文本信息</param>
///
</summary>
public
static
void
WriteTrace(Stringmessage)
{
WriteLog(TraceLevel.Verbose,message);
}
/**/
///
<summary>
///
格式化记录到事件日志的文本信息格式
///
<paramname="ex">需要格式化的异常对象</param>
///
<paramname="catchInfo">异常信息标题字符串.</param>
///
<retvalue>
///
<para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para>
///
</retvalue>
///
</summary>
public
static
StringFormatException(Exceptionex,StringcatchInfo)
{
StringBuilderstrBuilder
=
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>
///
实际事件日志写入方法
///
<paramname="level">要记录信息的级别(error,warning,info,trace).</param>
///
<paramname="messageText">要记录的文本.</param>
///
</summary>
private
static
void
WriteLog(TraceLevellevel,StringmessageText)
{
try
{
EventLogEntryTypeLogEntryType;
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
;
}
EventLogeventLog
=
new
EventLog(
"
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
(DataGridItemoDataGridItem
in
MyDataGrid.Items)
{
chkExport
=
(CheckBox)oDataGridItem.FindControl(
"
chkExport
"
);
chkExport.Checked
=
true
;
}
}
else
{
foreach
(DataGridItemoDataGridItem
in
MyDataGrid.Items)
{
chkExport
=
(CheckBox)oDataGridItem.FindControl(
"
chkExport
"
);
chkExport.Checked
=
false
;
}
}
}
17.数字格式化
分享到:
ASP.NET程序中常用代码汇总(二)
更多文章、技术交流、商务合作、联系博主
微信扫码或搜索:z360901061
微信扫一扫加我为好友
QQ号联系: 360901061
您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。
【本文对您有帮助就好】元
评论