现在的位置: 首页 > 综合 > 正文

ASP.NET程序中常用的三十三种代码(转载)

2012年12月23日 ⁄ 综合 ⁄ 共 5504字 ⁄ 字号 评论关闭

asp.net程序中最常用的三十三种编程代码,为初学者多多积累经验,为高手们归纳总结,看了觉得很有价值~,大家不妨参考下!
1. 打开新的窗口并传送参数: 
 传送参数:

response.write("<script>window.open(’*.aspx?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 + "’)"); 
}
  

   ★特别注意:【?id=】 处不能为 【?id =】
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 
   // 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; 

 
namespace MyEventLog 
 

  
/// <summary> 
  
/// 事件日志记录类,提供事件日志记录支持  
  
/// <remarks> 
  
/// 定义了4个日志记录方法 (error, warning, info, trace)  
  
/// </remarks> 
  
/// </summary> 

  public class ApplicationLog 
  

   
/// <summary> 
   
/// 将错误信息记录到Win2000/NT事件日志中 
   
/// <param name="message">需要记录的文本信息</param> 
   
/// </summary> 

   public static void WriteError(String message) 
   

    WriteLog(TraceLevel.Error, message); 
   }
 

   
/// <summary> 
   
/// 将警告信息记录到Win2000/NT事件日志中 
   
/// <param name="message">需要记录的文本信息</param> 
   
/// </summary> 

   public static void WriteWarning(String message) 
   

    WriteLog(TraceLevel.Warning, message);   
   }
 

   
/// <summary> 
   
/// 将提示信息记录到Win2000/NT事件日志中 
   
/// <param name="message">需要记录的文本信息</param> 
   
/// </summary> 

   public static void WriteInfo(String message) 
   

    WriteLog(TraceLevel.Info, message); 
   }
 
   
/// <summary> 
   
/// 将跟踪信息记录到Win2000/NT事件日志中 
   
/// <param name="message">需要记录的文本信息</param> 
   
/// </summary> 

   public static void WriteTrace(String message) 
   

    WriteLog(TraceLevel.Verbose, message); 
   }
 

   
/// <summary> 
   
/// 格式化记录到事件日志的文本信息格式 
   
/// <param name="ex">需要格式化的异常对象</param> 
   
/// <param name="catchInfo">异常信息标题字符串.</param> 
   
/// <retvalue> 
   
/// <para>格式后的异常信息字符串,包括异常内容和跟踪堆栈.</para> 
   
/// </retvalue> 
   
/// </summary> 

   public static String FormatException(Exception ex, String catchInfo) 
   

抱歉!评论已关闭.