熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

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

2013-11-13 12:15:37  來源: .NET編程 

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

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

  涉及到的文件:GreyBoxdll(動態庫) greyboxloaderaspxgreyboxloaderaspxcs (加載網頁的框架)gb_stylescss(樣式表)

  添加文件:

  ① 添加引用GreyBoxdll 到Bin文件夾
  ② 添加greyboxloaderaspxgreyboxloaderaspxcs到項目的根目錄
  ③ 添加gb_stylescss文件到imges/css/ 文件夾下

  調用方法:

   ①引用控件

  在頁面頂部加入代碼

<%@ Register Assembly=GreyBox Namespace=GreyBox TagPrefix=cc %>

  在<form></form>之間添加代碼

<cc:GreyBox id=Geybox runat=server></cc:GreyBox>

  ②加載CSS文件:

  HtmlLink myHtmlLink = new HtmlLink();
  myHtmlLinkHref = images/css/gb_stylescss;
  myHtmlLinkAttributesAdd(rel stylesheet);
  myHtmlLinkAttributesAdd(type text/css);
  PageHeaderControlsAdd(myHtmlLink);

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

  thisButtonAttributesAdd(onclick return GB_showCenter(修改密碼 echangepwaspx));
  GB_showCenter(titleurlheightwidth)

  方法的參數說明:

  title:彈出窗口的標題
  url:網址或者網頁文件名
  height:彈出窗口的高度
  width:彈出窗口的寬度

  這樣點擊Button就可以彈出一個窗口了

  方法:

  關閉窗口:

ResponseWrite(< script language=javascript>parentparentGB_hide();</script>);

  提交並關閉窗口:

  有框架的情況(IFRAME)

ResponseWrite(< script language=javascript>parentparentdocumentforms()submit();</script>);

  無框架的情況 

ResponseWrite(< script language=javascript>topwindowdocumentforms()submit();</script>);

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


From:http://tw.wingwit.com/Article/program/net/201311/15519.html
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.