我們在進行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