ASP.NET程序中常用代碼匯總(二)
系統
2081 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元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
評論