2008-08-16 11:40:13| 分類: ASP.Net開發(fā) |字號(hào) 訂閱
在做網(wǎng)頁開發(fā)中,很多時(shí)候需要彈出一些小的消息框顯示一些提示信息,就如果C/S平臺(tái)開發(fā)時(shí)使用如MessageBox.Show()類型的功能函數(shù),asp.net中沒有提供直接顯示消息框的函數(shù),它是通過JavaScritp腳本來實(shí)現(xiàn)彈出消息框的,以下介紹一種比較實(shí)用的彈出消息框方法。
常用的彈出消息框的方法就是通過Respone方法調(diào)用Alert()函數(shù),如:
Response.Write("<script language=JavaScript>alert('請先選擇一個(gè)用戶!');</script>");
這種方法的一個(gè)很大的缺點(diǎn)是在彈出消息框的同時(shí),父窗口整個(gè)變成了白色,分窗口的內(nèi)容無法顯示,同時(shí)關(guān)閉消息框后會(huì)刷新父窗口,導(dǎo)致父窗口以填寫的信息經(jīng)刷新后不能保存下來。
一種比較好的方法就是實(shí)用ClientScript.RegisterStartupScript方法來調(diào)用Alert()函數(shù):
string obj = "document.getElementById('img_main').src='" + ListBox1.Items[0].Value+ "'";
string scriptString = "<script language=JavaScript>{";
scriptString += String.Format("{0}", obj);
scriptString += "}</script>";
if (!ClientScript.IsStartupScriptRegistered("messge"))
{
ClientScript.RegisterStartupScript(this.GetType(), "messge", scriptString);
}
兩種方法對(duì)比如下圖所示:
前者父窗口背景全為白色,后者保留父窗口信息。
刷新:
如果是在一個(gè)頁面中修改了信息后,點(diǎn)擊某個(gè)按鈕關(guān)閉該頁面,同時(shí)需要刷新父窗口,則采用如下方法:
if (!ClientScript.IsStartupScriptRegistered("success"))
{
ClientScript.RegisterStartupScript(this.GetType(), "success", "<script language:javascript>alert('添加用戶成功!');window.opener.location.href='Admin.aspx';window.close();</script>");
}
其中,window.opener.location.href='Admin.aspx'完成父窗口刷新,其實(shí)就是將頁面定位到父窗口。
還有一種方式是:window.opener.location.reload();這種方法刷新會(huì)提示是否繼續(xù)刷新,即是對(duì)整個(gè)頁面進(jìn)行重新刷新,跟上面的方法有所不同,它會(huì)有如下這個(gè)提示:
還可以嘗試window.navigate('Login.aspx')方法,這里不再講述。
聯(lián)系客服