zoukankan      html  css  js  c++  java
  • 在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();
    }

    #endregion

  • 相关阅读:
    python中matplotlib所绘制的图包含了很多的对象
    pd.concat()命令
    Java设计模式——外观模式
    Java设计模式——桥接模式
    Java基础面试
    java web解决表单重复提交
    Servlet 工作原理解析
    Mysql日期函数
    解决多个下拉框动态级联初始化问题
    window.parent与window.opener、window.showModalDialog的区别 opener和showModalDialog刷新父页面的方法
  • 原文地址:https://www.cnblogs.com/meil/p/533928.html
Copyright © 2011-2022 走看看