** ASP.NET程序中常用的三十三种代码
**
1. 打开新的窗口并传送参数:
传送参数:
response.write(" < script > _ window _ .open(’* _ .asp _ x?id="+this.DropDownList1.SelectIndex+"&id1="+...+" ’ ) < /script > ")
接收参数:
string a = Request.QueryString("id");
string b = Request.QueryString("id1");
2. 为按钮添加对话框
Button1.Attributes.Add("onclick","return confirm( ’确认 ? ’ )");
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( ’您是否确定要删除这条信息’ );");
break;
default:
break;
}
}
5. 点击表格行链接另一页
private void grdCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
// 点击表格打开
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 _ + "’);");
}
双击表格连接到另一页
在 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 + "’");
}
双击表格打开新一页
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 + "’)");
}
6. 表格超连接列传递参数
< asp:HyperLinkColumn Target="_blank" headertext="ID 号 " DataTextField="id" NavigateUrl="aaa.aspx?id=’
< %# DataBinder.Eval(Container.DataItem, " 数据字段 1")% >’ & name= ’< %# DataBinder.Eval(Container.DataItem, " 数据字段 2")% >’ / >
7. 表格点击改变颜色
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’;");
}
写在 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. 关于日期格式
日期格式设定
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;
<span style="FONT-SIZE: 9pt; COLOR: b