最近在進行項目開發(fā)中,經(jīng)常會遇到這種情況,就是當用戶點擊頁面上的Button時,系統(tǒng)需要彈出一個窗口。這個窗口可能是標準對話框,也可能是一個新的頁面。開始的時候我不知道如何實現(xiàn)這樣的功能,按照我以前的編程習慣,我認為應該有一個類似于ShowMessage的方法,但是,可惜這種方法在WEB下是沒有的。通過在網(wǎng)上查閱資料,發(fā)現(xiàn)一般的做法是在Button的OnClick事件中寫下如下代碼: private void Button1_Click(object sender, System.EventArgs e) { string strScript = "<script language=javascript>\n"; strScript += "window.alert(" + "\"hello\"" + ");"; strScript += "</script>"; Response.Write(strScript); } 以上代碼的效果就是當用戶點擊Button1按鈕,將會彈出一個對話框。這種做法,其實就是在你的.cs文件中內(nèi)嵌一段javascript腳本文件。但是,我想大家看到這樣的代碼,或許會感覺很不舒服,這么多的""很容易暈!如果需要彈出一個頁面,并且需要傳遞參數(shù),那樣編寫出的代碼感覺會更暈! 后來,我考慮能不能把關于腳本部分都放在.aspx文件里,.cs里直接引用函數(shù)名稱即可。事實證明是可以的,請看下面的實現(xiàn)方法: 1.在aspx的<head>之前添加這段代碼 <script language="jscript"> function showmessagebox() { window.alert("hello"); } </script> 2.在cs文件的Page_Load事件里添加以下代碼 private void Page_Load(object sender, System.EventArgs e) { // 在此處放置用戶代碼以初始化頁面 this.Button1.Attributes.Add("onclick","javascript:showmessagebox();"); }
|