`
maiguang
  • 浏览: 262514 次
  • 性别: Icon_minigender_1
  • 来自: 焦作
社区版块
存档分类
最新评论

asp.net编程中常用的33段代码(一)

阅读更多

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

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;

 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

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

  
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.数字格式化

  【<%#Container.DataItem("price")%>的结果是500.0000,怎样格式化为500.00?】

<%#Container.DataItem("price","{0:¥#,##0.00}")%>

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

分享到:
评论

相关推荐

    ★【C#+ASP.NET】asp.net程序中最常用的编程代码

    ★【C#+ASP.NET】asp.net程序中最常用的编程代码

    asp.net最常用的编程代码详解

    以下是对asp.net最常用的一些编程代码的详解: 1. 打开新的窗口并传送参数: 这段代码展示了如何通过JavaScript在用户点击一个控件(如按钮)时打开一个新的页面,并将参数传递给该页面。`Response.Write`用于在...

    ASP.NET程序中常用代码汇总

    本压缩包中的文档“ASP.NET程序中常用代码汇总.doc”显然是一个汇集了在ASP.NET开发过程中常见且实用的代码片段的资源。 在ASP.NET程序开发中,以下是一些关键知识点: 1. **页面生命周期**:ASP.NET页面从请求到...

    asp.net编程常用类

    在标题“asp.net编程常用类”中,我们可以理解这是一个关于ASP.NET开发中核心类库的讨论,主要涉及图片水印处理和字符串操作等关键功能。描述中的“字符串多余的字符以省略号代替…”暗示了对文本截断和显示的处理,...

    asp.net程序中最常用编程代码

    以上是ASP.NET编程中的主要知识点,而"asp.net程序中最常用的三十三种编程代码.txt"和"ASP.net应用程序性能优化[1].txt"两个文件,可能包含更具体的示例代码和实践技巧,进一步深入研究这些内容,将有助于提升ASP...

    ASP.NET MVC4 Web 编程 源代码

    描述"《ASP.NET MVC 4 Web编程》的源代码"意味着,这些代码实例可能覆盖了以上所有知识点,通过阅读和学习这些源代码,开发者能够深入理解ASP.NET MVC4框架的工作原理,掌握如何在实际项目中运用这些技术。...

    ASP.NET宠物商店网页MyPetShop源代码

    ASP.NET宠物商店网页MyPetShop源代码是一个基于微软的ASP.NET技术开发的示例应用,它为学习和理解ASP.NET的Web应用程序开发提供了丰富的实践素材。这个项目包含了用户登录、商品展示、购物车管理和后台商品管理等多...

    asp.net学习积累的代码段

    ASP.NET 程序中常用的三十三种代码.txt asp.net使用客户端验证.txt Asp.net中基于Forms验证的角色验证授权).txt asp.net中如何用c#实现弹出式的交互对话窗口.txt cookie登陆判断.txt CSharp基本书写规范.doc ...

    asp.net编程常用的52种实用代码

    "asp.net编程常用的52种实用代码"这个资源集合了常见的编程解决方案,非常适合初学者和有经验的开发者作为学习资料。下面我们将深入探讨其中的一些关键知识点。 1. **控件交互**:ASP.NET提供了丰富的服务器控件,...

    某软件公司Asp.net最常用的编程代码

    asp.net最常用的三十多种常用的编程代码,可直接在Web项目中使用。

    asp.net 33中种常用代码

    ASP.NET 是微软开发的一种用于构建Web应用程序的框架,它基于.NET Framework...以上是ASP.NET编程中常见的33个知识点,每个主题都包含了丰富的细节和实践,通过深入理解和掌握,将极大地提升你在.NET平台上的开发能力。

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

    ASP.NET是一种基于.NET Framework的服务器端Web应用程序开发框架,由微软公司提供。在ASP.NET中,开发者可以使用多种编程语言如C#、VB.NET...通过理解并应用这些代码,开发者可以更好地掌握ASP.NET编程,提高开发效率。

    asp.net 源码 C# 编程底层代码

    C# 是ASP.NET中最常用的编程语言,以其强大的类型安全性和面向对象特性著称。在深入探讨源码和底层代码之前,我们首先理解 ASP.NET 和 C# 的基本概念。 在ASP.NET中,开发者可以通过编写C#代码来处理HTTP请求,创建...

    C# Asp.net 中常用的代码集

    "C# Asp.net 中常用的代码集"是一个集合,包含了应对这些问题的实用代码示例,旨在帮助开发者更高效地进行Web应用程序的开发。下面我们将详细探讨其中涉及到的一些关键知识点。 1. **数据下载(Download)**: ...

    asp.net常用代码

    这个压缩包文件"asp.net常用代码.doc"很可能包含了在ASP.NET开发中常用的代码片段和实践技巧。 在ASP.NET中,常见的知识点包括: 1. **网页控件**:ASP.NET提供了多种内置控件,如Label、TextBox、Button、...

    ASP.NET编程宝典(十年典藏版).pdf

    《ASP.NET编程宝典(十年典藏版)》附有配套DVD光盘,光盘中提供了书中全部实例和项目的源代码,这些源代码全部经过精心调试,能够在Windows XP、WindowsServer2003及Windows7操作系统下编译和运行。 《ASP.NET编程...

    asp.net专家门诊源代码

    在"asp.net专家门诊"的源代码中,每个章节可能对应一个特定的主题,例如,可能会有专门讲解控件事件、数据库操作、MVC架构的章节。通过阅读和分析这些代码,你可以更直观地看到这些知识点如何在实际项目中应用,从而...

    【ASP.NET编程知识】ASP.NET GridView中文本内容无法换行(自动换行正常换行).docx

    ASP.NET GridView 是 ASP.NET 框架中非常常用的控件之一,用于显示和编辑数据。但是,在使用 GridView 控件时,经常会遇到中文文本内容无法换行的问题。今天,我们将讨论这个问题的解决方法。 自动换行 GridView ...

    C#.NET编程经验

    通过阅读"asp.net常用函数表.doc"、"Random产生随机数.doc"、"格式化输出时间.doc"、"asp.net编程中的十大技巧.doc"和"精确的小数位数.doc"这五个文档,可以深入学习和掌握这些核心概念。在实践中不断应用和探索,将...

Global site tag (gtag.js) - Google Analytics