ASP.NET常用语句33条代码

本文汇总了ASP.NET开发中实用的技巧,包括参数传送与接收、按钮对话框设置、表格操作如记录删除及颜色变化等,还介绍了日期格式化、异常处理、自定义异常类等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

传送参数:

  response.write(
"" )

  接收参数:

  
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.表格超连接列传递参数

’  &  name = ’’  />

  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;

 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
}

  12.Panel 横向滚动,纵向自动扩展

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

  13.回车转换成Tab

onkeydown = " if(event.keyCode==13) event.keyCode=9 "

        14.DataGrid超级连接列

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

  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 " + " \ "" );

  }

  }

         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>
  后台代码

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 ;
  }
 }
}

  17.数字格式化

【的结果是500. 0000 ,怎样格式化为500. 00 ?】


  
int  i = 123456 ;

  
string  s = i.ToString( " ###,###.00 " );

     18.日期格式化

【格式化日期】

  取出来,一般是object((DateTime)objectFromDB).ToString(
" yyyy-MM-dd " );

  【日期的验证表达式】

  A.以下正确的输入格式: [
2004 - 2 - 29 ], [ 2004 - 02 - 29   10 : 29 : 39  pm], [ 2004 / 12 / 31 ]

  
^ (( \ d{ 2 }(([ 02468 ][ 048 ])|([ 13579 ][ 26 ]))[ \-\/\ s]?(((( 0 ?[ 13578 ])|( 1 [ 02 ]))[ \-\/\ s]?(( 0 ?[ 1 - 9 ])|([ 1 - 2 ][ 0 - 9 ])|( 3 [ 01 ])))|((( 0 ?[ 469 ])|( 11 ))[ \-\/\ s]?(( 0 ?[ 1 - 9 ])|([ 1 - 2 ][ 0 - 9 ])|( 30 )))|( 0 ? 2 [ \-\/\ s]?(( 0 ?[ 1 - 9 ])|([ 1 - 2 ][ 0 - 9 ])))))|( \ d{ 2 }(([ 02468 ][ 1235679 ])|([ 13579 ][ 01345789 ]))[ \-\/\ s]?(((( 0 ?[ 13578 ])|( 1 [ 02 ]))[ \-\/\ s]?(( 0 ?[ 1 - 9 ])|([ 1 -
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值