原創(chuàng)|其它|編輯:郝浩|2009-11-24 11:13:45.000|閱讀 406 次
概述:本文總結(jié).NET常用功能和代碼。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門(mén)軟控件火熱銷(xiāo)售中 >>
1. 打開(kāi)新的窗口并傳送參數(shù):
傳送參數(shù):
response.write("")
接收參數(shù):
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2.為按鈕添加對(duì)話(huà)框
傳送參數(shù):
response.write("")
接收參數(shù):
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2.為按鈕添加對(duì)話(huà)框
Button1.Attributes.Add("onclick","return confirm('確認(rèn)?')");
button.attributes.add("onclick","if(confirm('are you sure...?')){return true;} else{return false;}")
3.刪除表格選定記錄
int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()
4.刪除表格記錄警告
private void DataGrid_ItemCreated(Object sender,DataGridItemEventArgs e)
{
switch(e.Item.ItemType)
{
case ListItemType.Item :
case ListItemType.AlternatingItem :
case ListItemType.EditItem:
TableCell myTableCell;
myTableCell = e.Item.Cells[14];
LinkButton myDeleteButton ;
myDeleteButton = (LinkButton)myTableCell.Controls[0];
myDeleteButton.Attributes.Add("onclick","return confirm('您是否確定要?jiǎng)h除這條信息');");
break;
default:
break;
}
}
5.點(diǎn)擊表格行鏈接另一頁(yè)
private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
//點(diǎn)擊表格打開(kāi)
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
e.Item.Attributes.Add("onclick","window.open('Default.aspx?id=" + e.Item.Cells[0].Text + "');");
}
雙擊表格連接到另一頁(yè)
在itemDataBind事件中
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Text;
...
e.item.Attributes.Add("ondblclick", "location.href='../ShippedGrid.aspx?id=" + OrderItemID + "'");
}
雙擊表格打開(kāi)新一頁(yè)
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
string OrderItemID =e.item.cells[1].Text;
...
e.item.Attributes.Add("ondblclick", "open('../ShippedGrid.aspx?id=" + OrderItemID + "')");
}
★特別注意:【?id=】 處不能為 【?id =】
6.表格超連接列傳遞參數(shù)
<asp:HyperLinkColumn Target="_blank" headertext="ID號(hào)" DataTextField="id" NavigateUrl="aaa.aspx?id='<%# DataBinder.Eval(Container.DataItem, "數(shù)據(jù)字段1")%>' & name='<%# DataBinder.Eval(Container.DataItem, "數(shù)據(jù)字段2")%>' />
7.表格點(diǎn)擊改變顏色
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';");
}
寫(xiě)在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.關(guān)于日期格式
日期格式設(shè)定
DataFormatString="{0:yyyy-MM-dd}"
我覺(jué)得應(yīng)該在itembound事件中
e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))
9.獲取錯(cuò)誤信息并到指定頁(yè)面
不要使用Response.Redirect,而應(yīng)該使用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會(huì)導(dǎo)致post-back的產(chǎn)生從而丟失了錯(cuò)誤信息,所以頁(yè)面導(dǎo)向應(yīng)該直接在服務(wù)器端執(zhí)行,這樣就可以在錯(cuò)誤處理頁(yè)面得到出錯(cuò)信息并進(jìn)行相應(yīng)的處理
10.清空Cookie
Cookie.Expires=[DateTime];
Response.Cookies("UserName").Expires = 0
11.自定義異常處理
//自定義異常處理類(lèi)
using System;
using System.Diagnostics;
namespace MyAppException
{
///
/// 從系統(tǒng)異常類(lèi)ApplicationException繼承的應(yīng)用程序異常處理類(lèi)。
/// 自動(dòng)將異常內(nèi)容記錄到Windows NT/2000的應(yīng)用程序日志
///
public class AppException:System.ApplicationException
{
public AppException()
{
if (ApplicationConfiguration.EventLogEnabled)
LogEvent("出現(xiàn)一個(gè)未知錯(cuò)誤。");
}
public AppException(string message)
{
LogEvent(message);
}
public AppException(string message,Exception innerException)
{
LogEvent(message);
if (innerException != null)
{
LogEvent(innerException.Message);
}
}
//日志記錄類(lèi)
using System;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading;
namespace MyEventLog
{
///
/// 事件日志記錄類(lèi),提供事件日志記錄支持
///
/// 定義了4個(gè)日志記錄方法 (error, warning, info, trace)
///
///
public class ApplicationLog
{
///
/// 將錯(cuò)誤信息記錄到Win2000/NT事件日志中
/// 需要記錄的文本信息
///
public static void WriteError(String message)
{
WriteLog(TraceLevel.Error, message);
}
///
/// 將警告信息記錄到Win2000/NT事件日志中
/// 需要記錄的文本信息
///
public static void WriteWarning(String message)
{
WriteLog(TraceLevel.Warning, message);
}
///
/// 將提示信息記錄到Win2000/NT事件日志中
/// 需要記錄的文本信息
///
public static void WriteInfo(String message)
{
WriteLog(TraceLevel.Info, message);
}
///
/// 將跟蹤信息記錄到Win2000/NT事件日志中
/// 需要記錄的文本信息
///
public static void WriteTrace(String message)
{
WriteLog(TraceLevel.Verbose, message);
}
///
/// 格式化記錄到事件日志的文本信息格式
/// 需要格式化的異常對(duì)象
/// 異常信息標(biāo)題字符串.
///
/// 格式后的異常信息字符串,包括異常內(nèi)容和跟蹤堆棧.
///
///
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();
}
///
/// 實(shí)際事件日志寫(xiě)入方法
/// 要記錄信息的級(jí)別(error,warning,info,trace).
/// 要記錄的文本.
///
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.Inf
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 );
//寫(xiě)入事件日志
eventLog.WriteEntry(messageText, LogEntryType);
}
catch {} //忽略任何異常
}
} //class ApplicationLog
}
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn
文章轉(zhuǎn)載自:網(wǎng)絡(luò)轉(zhuǎn)載