在ASP.NET使用javascript一點小技巧

來源:互聯網
上載者:User
asp.net|技巧 我們在進行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




相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。