解決ASP.NET中讓網頁彈出窗口的問題_.Net教程
推薦:解析ASP.NET中基類Page_Load方法后執行原因加載對應Load事件和OnLoad方法,對于這個事件,相信大多數朋友都會比較熟悉,用VS.Net生成的頁面中的Page_Load方法就是響應Load事件的方法,對于每一次請求,Load事件都會觸發,Page_Load方法也就會執行,相信這也是大多數人了解ASP.Net的第一步。 Page_Load
由于項目要用到彈出窗口,或者叫做模擬窗口,這段時間就研究了下,解決方案很多,比如,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的所有資源歸其原作者所有,感興趣的可以去其網站看。上面有詳盡的介紹,當然,也可以和我討論,我很愿意和大家分享。
分享:怎樣使.NET命名空間符合標準命名空間可以幫你組織企業的.NET源代碼,但要做到這一點,必須要有可靠的計劃。by Jonathan Goodyear, MCSD, MCP, CLS 還記得在COM中為企業組織源代碼有多難嗎?典型情況下,你在命名時只可以用兩個級別(level):項目名稱和類名稱。你的ProgID通常是以下面的
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發送Email實例(可帶附件)
- js實現廣告漂浮效果的小例子
- asp.net Repeater 數據綁定的具體實現
- Asp.Net 無刷新文件上傳并顯示進度條的實現方法及思路
- Asp.net獲取客戶端IP常見代碼存在的偽造IP問題探討
- VS2010 水晶報表的使用方法
- ASP.NET中操作SQL數據庫(連接字符串的配置及獲取)
- asp.net頁面傳值測試實例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲過程實現分頁示例代碼
- 相關鏈接:
- 教程說明:
.Net教程-解決ASP.NET中讓網頁彈出窗口的問題。