简单的ASP.NET常用代码(1)

开发 后端
本文总结了33条ASP.NET常用代码。本文是第一部分,主要面向asp.net的初学者们。

以下总结三十三条ASP.NET常用代码,为初学者多多积累经验,为高手们归纳总结。

ASP.NET常用代码之1. 打开新的窗口并传送参数: 

传送参数:

response.write("<script>window.open(’*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"’)</script>")   
  • 1.

接收参数:

string a = Request.QueryString("id");   
string b = Request.QueryString("id1");   
  • 1.
  • 2.

ASP.NET常用代码之2.为按钮添加对话框

Button1.Attributes.Add("onclick","return confirm(’确认?’)");   
button.attributes.add("onclick","if(confirm(’are you sure...?’)){return true;}else{return false;}")    
 
  • 1.
  • 2.
  • 3.

ASP.NET常用代码之3.删除表格选定记录

int intEmpID = (int)MyDataGrid.DataKeys[e.Item.ItemIndex];   
string deleteCmd = "DELETE from Employee where emp_id = " + intEmpID.ToString()   
  • 1.
  • 2.

ASP.NET常用代码之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;   
 }   
 
}    
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

ASP.NET常用代码之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 + "’)");   
}    
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.

★特别注意:【?id=】 处不能为 【?id =】

ASP.NET常用代码之6.表格超连接列传递参数

<asp:HyperLinkColumn Target="_blank" headertext="ID号" DataTextField="id" NavigateUrl="aaa.aspx?id=’   
 <%# DataBinder.Eval(Container.DataItem, "数据字段1")%>’ & name=’<%# DataBinder.Eval(Container.DataItem, "数据字段2")%>’ />    
 
  • 1.
  • 2.
  • 3.

ASP.NET常用代码之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’;");   
}     
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

写在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=’’;");   
}    
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

ASP.NET常用代码之8.关于日期格式

日期格式设定:

DataFormatString="{0:yyyy-MM-dd}"    
 
  • 1.
  • 2.

我觉得应该在itembound事件中

e.items.cell["你的列"].text=DateTime.Parse(e.items.cell["你的列"].text.ToString("yyyy-MM-dd"))   
  • 1.

ASP.NET常用代码之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了 :)   
}    
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

Redirect会导致post-back的产生从而丢失了错误信息,所以页面导向应该直接在服务器端执行,这样就可以在错误处理页面得到出错信息并进行相应的处理 

ASP.NET常用代码之10.清空Cookie

Cookie.Expires=[DateTime];   
Response.Cookies("UserName").Expires = 0   
  • 1.
  • 2.

#p#

ASP.NET常用代码之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)   
   {   
    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();   
   }   
 
   /// <summary>   
   /// 实际事件日志写入方法   
   /// <param name="level">要记录信息的级别(error,warning,info,trace).</param>   
   /// <param name="messageText">要记录的文本.</param>   
   /// </summary>   
   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.Info:   
       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 );   
     //写入事件日志   
     eventLog.WriteEntry(messageText, LogEntryType);   
 
    }   
   catch {} //忽略任何异常   
  }    
 } //class ApplicationLog   
}    
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.
  • 52.
  • 53.
  • 54.
  • 55.
  • 56.
  • 57.
  • 58.
  • 59.
  • 60.
  • 61.
  • 62.
  • 63.
  • 64.
  • 65.
  • 66.
  • 67.
  • 68.
  • 69.
  • 70.
  • 71.
  • 72.
  • 73.
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 91.
  • 92.
  • 93.
  • 94.
  • 95.
  • 96.
  • 97.
  • 98.
  • 99.
  • 100.
  • 101.
  • 102.
  • 103.
  • 104.
  • 105.
  • 106.
  • 107.
  • 108.
  • 109.
  • 110.
  • 111.
  • 112.
  • 113.
  • 114.
  • 115.
  • 116.
  • 117.
  • 118.
  • 119.
  • 120.
  • 121.
  • 122.
  • 123.
  • 124.
  • 125.
  • 126.
  • 127.
  • 128.
  • 129.
  • 130.
  • 131.
  • 132.
  • 133.
  • 134.
  • 135.
  • 136.
  • 137.
  • 138.
  • 139.
  • 140.
  • 141.
  • 142.

ASP.NET常用代码之12.Panel 横向滚动,纵向自动扩展

<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>   
  • 1.

ASP.NET常用代码之13.回车转换成Tab 

<script language="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"   
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

ASP.NET常用代码之14.DataGrid超级连接列

DataNavigateUrlField="字段名" DataNavigateUrlFormatString="http://xx/inc/delete.aspx?ID={0}"   
  • 1.

ASP.NET常用代码之15.DataGrid行随鼠标变色

private void DGzf_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)   
{   
 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"+"\"");   
 }   
}   
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

ASP.NET常用代码之16.模板列

<ASP:TEMPLATECOLUMN visible="False" sortexpression="demo" headertext="ID">   
<ITEMTEMPLATE>   
<ASP:LABEL text=’<%# DataBinder.Eval(Container.DataItem, "ArticleID")%>’ runat="server" width="80%" id="lblColumn" />   
</ITEMTEMPLATE>   
</ASP:TEMPLATECOLUMN>   
 
<ASP:TEMPLATECOLUMN headertext="选中">   
<HEADERSTYLE wrap="False" horizontalalign="Center"></HEADERSTYLE>   
<ITEMTEMPLATE>   
<ASP:CHECKBOX id="chkExport" runat="server" />   
</ITEMTEMPLATE>   
<EDITITEMTEMPLATE>   
<ASP:CHECKBOX id="chkExportON" runat="server" enabled="true" />   
</EDITITEMTEMPLATE>   
</ASP:TEMPLATECOLUMN>    
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.

后台代码

protected void CheckAll_CheckedChanged(object sender, System.EventArgs e)   
{   
 //改变列的选定,实现全选或全不选。   
 CheckBox chkExport ;   
 if( CheckAll.Checked)   
 {   
  foreach(DataGridItem oDataGridItem in MyDataGrid.Items)   
  {   
   chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");   
   chkExport.Checked = true;   
  }   
 }   
 else   
 {   
  foreach(DataGridItem oDataGridItem in MyDataGrid.Items)   
  {   
   chkExport = (CheckBox)oDataGridItem.FindControl("chkExport");   
   chkExport.Checked = false;   
  }   
 }   
}    
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.

以上就是asp.net常用代码中的前16个,后面的将在asp.net中的常用简单代码之二中给大家介绍。

【编辑推荐】

  1. ASP.NET中使用AJAX中的方式
  2. ASP.NET中WCF服务与ASMX服务的兼容性
  3. ASP.NET中using的用法三则
  4. ASP.NET表单介绍
  5. ASP.NET中Get和Post的用法
责任编辑:book05 来源: hi.baidu
相关推荐

2009-07-30 14:32:18

ASP.NET常用代码

2009-07-29 11:18:21

ASP.NET连接My

2012-04-13 10:05:24

ASP.NET

2009-08-04 11:29:14

HTML代码ASP.NET控件

2009-08-05 17:39:13

ASP.NET常用状态

2009-08-04 17:16:16

ASP.NET代码优化

2011-06-28 15:14:10

ASP.NET性能优化

2009-07-22 17:35:23

代码隐藏文件ASP.NET

2009-07-22 17:45:35

ASP.NET教程

2009-07-28 17:17:19

ASP.NET概述

2009-08-03 14:22:33

什么是ASP.NET

2009-07-28 13:20:38

ASP.NET笔试题

2009-07-28 17:41:54

ASP.NET工具

2009-08-10 17:17:10

ASP.NET安装部署

2009-07-27 12:22:03

ASP.NET和ASPASP.NET入门教程

2011-07-12 13:53:25

ASP.NETAjax

2009-07-28 16:08:43

ASP.NET AJA

2009-07-29 16:33:28

GreeterLogiASP.NET

2009-07-27 15:48:43

2009-07-27 10:35:33

TypeConvertASP.NET
点赞
收藏

51CTO技术栈公众号