asp.net 编程 实用语句(6条)

1.Panel 横向滚动,纵向自动扩展
<asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel>
2.回车转换成Tab
(1)
<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>
(2) //当在有keydown事件的控件上敲回车时,变为tab
public void Tab(System.Web .UI.WebControls .WebControl webcontrol)
{
webcontrol.Attributes .Add ("onkeydown", "if(event.keyCode==13) event.keyCode=9");
}
3.DataGrid超级连接列
DataNavigateUrlField="字段名" DataNavigateUrlFormatString="http://xx/inc/delete.aspx?ID={0}"
4.自定义异常处理
//自定义异常处理类
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
}
5.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"+"\"");
  }
}
6.模板列
<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" horiz></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;
  }
  }
}

(0)

相关推荐

  • asp.net 编程 实用语句(6条)

    1.Panel 横向滚动,纵向自动扩展 <asp:panel style="overflow-x:scroll;overflow-y:auto;"></asp:panel> 2.回车转换成Tab (1) <script language="javascript" for="document" event="onkeydown"> if(event.keyCode==13 &&

  • ASP.NET的实用技巧详细介绍

    关于ASP.NET的实用技巧,其实我们已经接触到很多了.下面为大家总结一下,供大家参考. 1.跟踪页面执行 设置断点是页面调试过程中的常用手段,除此之外,还可以通过查看页面的跟踪信息进行错误排查以及性能优化.ASP.NET中启用页面跟踪非常方便,只需在Page指令中加入Trace="True"属性即可: <%@ Page Language="C#" Trace="true"> 跟踪信息可以分为两类: a.页面执行详细情况 其中主要包括

  • ASP面向对象编程探讨及比较

    ASP面向对象编程探讨及比较     选择自 RAINMAN_NET 的 Blog   关键字   ASP面向对象编程探讨及比较  出处 ASP是Microsoft于较早期推出的动态网页编程技术,但其结合ADO对数据库方便快捷的访问.结合XML.COM/ActiveX等其它技术 实现服务器多层结构的功能使它在今天还有着顽强的生命力,并且依然有着一定的发展.ASP.Net虽然在架构上完全不同于ASP,但它很多内建对象也是基 于ASP进行扩展的.网上有无数的介绍ASP的文章,却鲜有介绍ASP面向对象

  • ASP.NET编程简单实现生成静态页面的方法【附demo源码下载】

    本文实例讲述了ASP.NET编程简单实现生成静态页面的方法.分享给大家供大家参考,具体如下: 1. 使用场景 当页面的数据不需要经常更改时可采用静态页面方式. 2. 使用静态页面的好处 (1)提高网站的访问速度 (2)减轻服务器负担 (3)利于搜索引擎抓取 3. ASP.NET生成静态页面 生成静态页面方法有很多种,先说下我使用的其中的一种.参考资料 基本思路: (1)创建模板template.html文件,在里面定义一些特殊的字符串格式用于替换内容,如$htmlformat (2)读取模板,赋

  • ASP.NET编程获取网站根目录方法小结

    本文实例讲述了ASP.NET编程获取网站根目录方法.分享给大家供大家参考,具体如下: 获取网站根目录的方法有几种如: Server.MapPath(Request.ServerVariables["PATH_INFO"]) Server.MapPath("/") Server.MapPath("")//当前代码文件所在的目录路劲 Server.MapPath(".") Server.MapPath("../"

  • asp.net编程获取项目根目录实现方法集合

    本文实例总结了asp.net编程获取项目根目录实现方法.分享给大家供大家参考,具体如下: 编写程序的时候,经常需要用的项目根目录.自己总结如下 1.取得控制台应用程序的根目录方法 方法1.Environment.CurrentDirectory 取得或设置当前工作目录的完整限定路径 方法2.AppDomain.CurrentDomain.BaseDirectory 获取基目录,它由程序集冲突解决程序用来探测程序集 2.取得Web应用程序的根目录方法 方法1.HttpRuntime.AppDoma

  • asp.net编程实现删除文件夹及文件夹下文件的方法

    本文实例讲述了asp.net编程实现删除文件夹及文件夹下文件的方法.分享给大家供大家参考,具体如下: //获取文件夹 string path = Server.MapPath("Image"); //获取文件夹中所有图片 if (Directory.GetFileSystemEntries(path).Length > 0) { //遍历文件夹中所有文件 foreach (string file in Directory.GetFiles(path)) { //文件己存在 if

  • asp.net单文件带进度条上传的解决方案

    最近做项目中遇到很多问题,比如带进度条的文件上传,看了网上很多资料还没找到真正意义上的ASP.NET实现进度条上传(可能是我没找到),下面我来跟大家分享一下我实现的这个程序. 首先看下界面效果,当然你可以完全修改界面为你自己所用. 先解释一下这个程序,该程序采用了jquery框架,实现了小文件上传,不超过80Mb,可以在web.config文件中进行相应的配置,但是有个最大值,具体需要查看msdn.开发环境采用visual studio 2013 .net framework 4.5,运行的时候

  • 一些Asp技巧和实用解决方法

    一些Asp技巧和实用解决方法 随机数: <%randomize%> <%=(int(rnd()*n)+1)%> 查询数据时得到的记录关键字用红色显示: <% =replace(RS("字段X"),searchname,"<font color=#FF0000>" & searchname & "</font>") %> 通过asp的手段来检查来访者是否用了代理 <%

  • Asp.Net之JS生成分页条的方法

    Default.aspx.cs中的代码 protected int pageIndex = 1; protected int pageSize = 10; protected int pageCount = 100; protected string name = string.Empty; protected void Page_Load(object sender, EventArgs e) { int.TryParse(Request.QueryString["pageIndex"

随机推荐