彈出模態(tài)窗口總結(jié)
當(dāng)前位置:點(diǎn)晴教程→知識管理交流
→『 技術(shù)文檔交流 』
今天在做一個(gè)彈出模態(tài)窗口時(shí)搞了我一晚上。google半天,找來找去文章就哪么幾篇,別人的能刷新偶的就是不行,后來在一網(wǎng)友幫助下總算是找到問題所在,搞定了。 //在模態(tài)窗口中提交數(shù)據(jù)總是會彈出一個(gè)新窗口,上次遇到過這問題,所以這次一來就在html里加上了 就這樣自己試了很多常用js刷新頁面的方法,都不能實(shí)現(xiàn)這個(gè)模態(tài)頁面刷新,又搜索了半天,看到有人這樣重新加載要刷新的頁面 在html里放一個(gè)a標(biāo)簽,讓他不顯示。 <a id='reload' href='default.aspx?pid=' style='display:none'></a> 下面是用到的js腳本 <script language ="javascript" type ="text/javascript" > function setreloadhref()//刷新網(wǎng)頁 <body onkeydown="javascript:if (event.keycode==116){reload.click();}" onload ="setreloadhref();"> 現(xiàn)在頁面可以刷新了,但怎么總不是最新的呢?也就是說現(xiàn)在提交一條數(shù)據(jù)頁面刷新還是沒變,只有在按一次f5這個(gè)模態(tài)窗口才刷新剛才提交的數(shù)據(jù),刪除 也一樣,后來發(fā)現(xiàn)把<form id="form1" runat="server" target="bbc2188">中的target屬性去掉就搞定了。一提交就完成刷新了。 并且之前添加的哪些木用的js腳本也可以刪除了,又是一個(gè)小錯(cuò)誤搞偶一晚上,哎。 asp中的模態(tài)對話框終于開始寫b/s的程序。
asp.net使用彈出窗口(對話框)的體會 從整理這篇文章的目的,在于記錄前一段使用彈出窗口的經(jīng)驗(yàn),同時(shí)結(jié)合對一些資料的閱讀,總結(jié)彈出窗口使用方法。
如何在這三種方法中做出選擇、如何對后兩種方法做出前面兩個(gè)問題的回答,這在文后所附的文章中都有介紹。所以,這里主要針對window.open方法做出回答。 <script> function open_cate() { window.open("openup.aspx","","toolbar=0,location=0,directories=0,status=0, menubar=0,scrollbars=1,resizable=0,left=200,top=100,width=250,height=400"); } </script> 從代碼中可以看出,我們可以對彈出窗口的諸多屬性進(jìn)行設(shè)置。如果我們想要在點(diǎn)擊一個(gè)button時(shí)彈出窗口,值需要在該button的onclick時(shí)間中調(diào)用該javascript函數(shù)即可。 解決了如何彈出窗口的問題之后,下面討論如何在頁面之間傳遞信息。 這里我 采用的辦法是在url中拼接參數(shù)傳遞信息。window.open的第一個(gè)參數(shù)為url,我們可以把參數(shù)加在url后,例如 'openup.aspx?parm1=abc&parm2=<%=serversideparm%>'。這樣,只需在彈出窗口 querystring到這些參數(shù),就實(shí)現(xiàn)了動(dòng)態(tài)向彈出窗口傳遞信息。 使用彈 出傳口的目的主要是為了同用戶的交互,所以如何在父頁面中得到用戶對彈出窗口的操作結(jié)果是非常重要的。其實(shí)這里實(shí)現(xiàn)的方法也很簡單,同樣是通過 javascript:通過window.opener得到父窗口的window對象,就可以對父窗口進(jìn)行操作,比如對某個(gè)textbox設(shè)值。 當(dāng)初為了實(shí)現(xiàn)這個(gè)簡單的交互操作,花費(fèi)了整整一下午的時(shí)間,關(guān)鍵是對javascript太生疏,自以為做server端的東西才是本事,其實(shí)是犯了大錯(cuò)。 另外,如果在js中引用.net server端對象遇到對象為空的報(bào)錯(cuò)時(shí),很有可能是對象在編譯后,vs對控件進(jìn)行了重命名。一開始這里不知道,害得我好苦 ================ 很多網(wǎng)頁都是框架結(jié)構(gòu)的,在很多的情況下會通過按鈕點(diǎn)擊事件或鏈接,跳出框架轉(zhuǎn)到其它界面。例如說點(diǎn)擊“注銷登錄”返回到登錄界面。 一、通過運(yùn)行腳本跳出框架有以下幾種寫法: 1. <script language = javascript>window.open('login.aspx','_top')</script>" 2. <script language = javascript>window.open('login.aspx','_parent')</script>" 3. <script language = javascript>window.parent.location.href='login.aspx'</script> 4. response.write("<script>window.parent.opener=null;window.top.close();</script>") response.write("<script>window.open('index.aspx','');</script>") 這種方法會先關(guān)閉原框架窗口,再重新打開一個(gè)新的窗口。這在很多功能界面對瀏覽器進(jìn)行了改變設(shè)置,而回到登陸界面又用缺省設(shè)置的情況下適用。 二、鏈接跳出框架 這種情況就很簡單了,加上 target="_top" 屬性就可以了。 該文章在 2010/8/13 8:59:14 編輯過 |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |