解決ASP.NET中讓網(wǎng)頁(yè)彈出窗口的問(wèn)題_.Net教程
推薦:解析ASP.NET中基類(lèi)Page_Load方法后執(zhí)行原因加載對(duì)應(yīng)Load事件和OnLoad方法,對(duì)于這個(gè)事件,相信大多數(shù)朋友都會(huì)比較熟悉,用VS.Net生成的頁(yè)面中的Page_Load方法就是響應(yīng)Load事件的方法,對(duì)于每一次請(qǐng)求,Load事件都會(huì)觸發(fā),Page_Load方法也就會(huì)執(zhí)行,相信這也是大多數(shù)人了解ASP.Net的第一步。 Page_Load
由于項(xiàng)目要用到彈出窗口,或者叫做模擬窗口,這段時(shí)間就研究了下,解決方案很多,比如,window.open();window.showDialog();用層模擬,框架 DIV Javascript....
用window.open();這種方法的缺點(diǎn)是,會(huì)被瀏覽器或者相關(guān)軟件給屏蔽掉。用層模擬的話,如果想實(shí)現(xiàn)較復(fù)雜點(diǎn)的窗口,就比較困難,第三種方法是綜合了所有的網(wǎng)頁(yè)制作知識(shí),可以提供個(gè)很好的解決方案。但是,第三種實(shí)現(xiàn)起來(lái),對(duì)于Javascript知識(shí)不夠的人來(lái)說(shuō),很難完成。前段時(shí)間在網(wǎng)上逛的時(shí)候,發(fā)現(xiàn)了個(gè)好的解決方案:GreyBox.經(jīng)過(guò)反復(fù)研究,發(fā)現(xiàn),GreyBox幾乎可以完成所有的彈出窗口(但是,好像對(duì)框架中的框架不太支持)。為了方便使用,我把GreyBox封裝為一個(gè)控件。現(xiàn)在把用法貼出來(lái):
1.涉及到的文件:GreyBox.dll(動(dòng)態(tài)庫(kù)) greyboxloader.aspx,greyboxloader.aspx.cs (加載網(wǎng)頁(yè)的框架),gb_styles.css(樣式表)
2.添加文件:
① 添加引用GreyBox.dll 到Bin文件夾
② 添加greyboxloader.aspx,greyboxloader.aspx.cs到項(xiàng)目的根目錄.
③ 添加gb_styles.css文件到imges/css/ 文件夾下
3.調(diào)用方法:
①引用控件:
在頁(yè)面頂部加入代碼:
在
之間添加代碼:②加載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);
③注冊(cè)彈出新窗口事件(以Button為例):
this.Button1.Attributes.Add("onclick", "return GB_showCenter('修改密碼', 'echangepw.aspx',200,390)");
GB_showCenter('title','url',height,width)方法的參數(shù)說(shuō)明:
title:彈出窗口的標(biāo)題
url:網(wǎng)址或者網(wǎng)頁(yè)文件名
height:彈出窗口的高度
width:彈出窗口的寬度
這樣,點(diǎn)擊Button1就可以彈出一個(gè)窗口了.
4.方法:
關(guān)閉窗口:
Response.Write("< script language=javascript>parent.parent.GB_hide();");
提交并關(guān)閉窗口:
有框架的情況(IFRAME)
Response.Write("< script language=javascript>parent.parent.document.forms(0).submit();");
無(wú)框架的情況
Response.Write("< script language=javascript>top.window.document.forms(0).submit();");
說(shuō)明:Greybox的所有資源歸其原作者所有,感興趣的可以去其網(wǎng)站看。上面有詳盡的介紹,當(dāng)然,也可以和我討論,我很愿意和大家分享。
分享:怎樣使.NET命名空間符合標(biāo)準(zhǔn)命名空間可以幫你組織企業(yè)的.NET源代碼,但要做到這一點(diǎn),必須要有可靠的計(jì)劃。by Jonathan Goodyear, MCSD, MCP, CLS 還記得在COM中為企業(yè)組織源代碼有多難嗎?典型情況下,你在命名時(shí)只可以用兩個(gè)級(jí)別(level):項(xiàng)目名稱(chēng)和類(lèi)名稱(chēng)。你的ProgID通常是以下面的
- asp.net如何得到GRIDVIEW中某行某列值的方法
- .net SMTP發(fā)送Email實(shí)例(可帶附件)
- js實(shí)現(xiàn)廣告漂浮效果的小例子
- asp.net Repeater 數(shù)據(jù)綁定的具體實(shí)現(xiàn)
- Asp.Net 無(wú)刷新文件上傳并顯示進(jìn)度條的實(shí)現(xiàn)方法及思路
- Asp.net獲取客戶(hù)端IP常見(jiàn)代碼存在的偽造IP問(wèn)題探討
- VS2010 水晶報(bào)表的使用方法
- ASP.NET中操作SQL數(shù)據(jù)庫(kù)(連接字符串的配置及獲取)
- asp.net頁(yè)面?zhèn)髦禍y(cè)試實(shí)例代碼
- DataGridView - DataGridViewCheckBoxCell的使用介紹
- asp.net中javascript的引用(直接引入和間接引入)
- 三層+存儲(chǔ)過(guò)程實(shí)現(xiàn)分頁(yè)示例代碼
.Net教程Rss訂閱編程教程搜索
.Net教程推薦
- 解析asp.net下web控件點(diǎn)評(píng)
- ASP.NET筆記之 Request 、Response 與Server的使用
- .net調(diào)用存儲(chǔ)過(guò)程詳細(xì)介紹
- 新手入門(mén)之ASP.NET2.0中的緩存技術(shù)解析
- 解析.NET程序員 Ruby核心語(yǔ)法入門(mén)
- .NET中加密與解密QueryString的方法
- 對(duì)C#中正則表達(dá)式的一些解讀和總結(jié)
- 解讀軟件系統(tǒng)與軟件系統(tǒng)之間的集成交互問(wèn)題
- asp.net網(wǎng)站RSS功能實(shí)例代碼
- 怎樣在ASP.NET中備份SQL Server數(shù)據(jù)庫(kù)
- 相關(guān)鏈接:
- 教程說(shuō)明:
.Net教程-解決ASP.NET中讓網(wǎng)頁(yè)彈出窗口的問(wèn)題
。