程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET中讓網頁彈出窗口不再困難

ASP.NET中讓網頁彈出窗口不再困難

編輯:.NET實例教程

.

由於項目要用到彈出窗口,或者叫做模擬窗口,這段時間就研究了下,解決方案很多,比如,window.open();window.showDialog();用層模擬,框架+DIV+Javascript....

用window.open();這種方法的缺點是,會被浏覽器或者相關軟件給屏蔽掉。用層模擬的話,如果想實現較復雜點的窗口,就比較困難,第三種方法是綜合了所有的網頁制作知識,可以提供個很好的解決方案。但是,第三種實現起來,對於Javascript知識不夠的人來說,很難完成。前段時間在網上逛的時候,發現了個好的解決方案:GreyBox.經過反復研究,發現,GreyBox幾乎可以完成所有的彈出窗口(但是,好像對框架中的框架不太支持)。為了方便使用,我把GreyBox封裝為一個控件。現在把用法貼出來:

1.涉及到的文件:GreyBox.dll(動態庫) greyboxloader.aspx,greyboxloader.ASPx.cs (加載網頁的框架),gb_styles.CSS(樣式表)

2.添加文件:

① 添加引用GreyBox.dll 到Bin文件夾

② 添加greyboxloader.aspx,greyboxloader.ASPx.cs到項目的根目錄.

③ 添加gb_styles.css文件到imges/CSS/ 文件夾下

3.調用方法:

①引用控件:

在頁面頂部加入代碼:

之間添加代碼:

②加載CSS文件:

HtmlLink myHtmlLink = new HtmlLink();

myHtmlLink.Href = "images/css/gb_styles.CSS";

myHtmlLink.Attributes.Add("rel", "stylesheet");

myHtmlLink.Attributes.Add("type", "text/CSS");

Page.Header.Controls.Add(myHtmlLink);

③注冊彈出新窗口事件(以Button為例):

this.Button1.Attributes.Add("onclick", "return GB_showCenter('修改密碼', 'echangepw.ASPx',200,390)");

GB_showCenter('title','url',height,width)方法的參數說明:

title:彈出窗口的標題

url:網址或者網頁文件名

height:彈出窗口的高度

width:彈出窗口的寬度

這樣,點擊Button1就可以彈出一個窗口了.

4.方法:

關閉窗口:

Response.Write("< script language=Javascript>parent.parent.GB_hide();");

提交並關閉窗口:

有框架的情況(IFRAME)

Response.Write("< script language=Javascript>parent.parent.document.forms(0).submit();");

無框架的情況

Response.Write("< script language=Javascript>top.window.document.forms(0).submit();");

說明:Greybox的所有資源歸其原作者所有,感興趣的可以去其網站看。上面有詳盡的介紹,當然,也可以和我討論,我很願意和大家分享。

ps:上個月底發布了代碼生成器,本來是准備盡快給朋友們上傳源碼的,但是,由於最近在趕一個項目,再加上那個代碼生成器給同事用後,發現了一些BUG和提出了一些需求,我准備重寫。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved