打印

[asp.net教程] 在asp.net使用javascript一点小技巧

在asp.net使用javascript一点小技巧

我们在进行asp.net开发时,经常会用到一些javascript脚本,比如:

  private void button1_click(object sender, system.eventargs e)
  {
  response.write( "<script language='javascript'>alert('ok');</script>") ;
  }
   
  经常是重复的书写这些脚本,如果我们能做成一个相应的函数就好了,直接就可以拿来使用。很多人都有自己的一些javascript的函数,但是大部分向这样的:
   
  /// <summary>
  /// 服务器端弹出alert对话框
  /// </summary>
  /// <param name="str_message">提示信息,例子:"请输入您姓名!"</param>
  /// <param name="page">page类</param>
  public void alert(string str_message,page page)
  {
  if(!page.isstartupscriptregistered ("msgonlyalert"))
  {
  page.registerstartupscript("msgonlyalert","<script>alert('"+str_message+"');</script>");
  }
  }
   
  但是,用的时候,每次都要继承这个类,用起来还是有些麻烦,如果函数是静态的函数,类是静态的类的话,我们不要继承就可以使用。但是我们怎么写呢?
   
  看看这段代码
   
  #region public static void messagebox( page page, string msg )
  ///
  /// 弹出对话框
  ///
  /// 当前页面的指针,一般为this
  /// 消息
  public static void messagebox( page page, string msg )
  {
  stringbuilder strscript = new stringbuilder();
  strscript.append( "<script language=javascript>" );
  strscript.append( "alert('"+ msg +"');" );
  strscript.append( "</script>" );
  if ( ! page.isstartupscriptregistered( "messagebox" ) )
  {
  page.registerstartupscript( "messagebox", strscript.tostring() );
  }
  }
  #endregion
   
  这样的话我们就能方便使用很多已有的js脚本。
   
  ps:其实很多常用的方法都能写成静态函数进行调用的。偶再附几个例子作为一个参考。
   
  md5加密:
   
  ///
  /// md5 encrypt
  ///
  /// text
  /// md5 encrypt string
  public string md5encrypt(string strtext)
  {
  md5 md5 = new md5cryptoserviceprovider();
  byte[] result = md5.computehash(system.text.encoding.default.getbytes(strtext));
  return system.text.encoding.default.getstring(result);
  }
   
  取指定长度的随机数:
   
  #region public static string getrandnum( int randnumlength )
   
  ///
  /// 取得随机数
  ///
  /// 随机数的长度
  ///
  public static string getrandnum( int randnumlength )
  {
  system.random randnum = new system.random( unchecked( ( int ) datetime.now.ticks ) );
  stringbuilder sb = new stringbuilder( randnumlength );
  for ( int i = 0; i < randnumlength; i++ )
  {
  sb.append( randnum.next( 0, 9 ) );
  }
  return sb.tostring();
  }

TOP

返回顶部
AYBlue

Processed in 0.044952 second(s), 7 queries.

当前时区 GMT+8, 现在时间是 2009-1-10 12:09 京ICP备06054220号

清除 Cookies - 联系我们 - 163K.com - Archiver - WAP