ASP.NET程序中常用的三十三种代码

** 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


Published At
Categories with Web编程
Tagged with
comments powered by Disqus