ASP.NET—013:实现带控件的弹出层(弹出框)

在页面中用到弹出新页面的情况比较多的,一般来说都是使用JS方法
showModalDialog("新页面相对路径+?参数1&参数2",window,"新页面样式");然后会新弹出一个模态的page页。
而在有些时候,仅仅是显示一些单一的、少量的数据,或者一些简单的操作时。就没必要使用新弹出页面了。
此时,最好使用弹出层,也就是数据还是显示在当前页面的某个控件上,然后通过JS方法实现达到弹出的目的。
看下面的例子:
[html]  view plain copy print ?
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2. <head runat="server">  
  3.     <title></title>  
  4. </head>  
  5. <body>  
  6.     <form id="form1" runat="server">  
  7.     <div>  
  8.      <ul>  
  9.       <li>操作一</li>  
  10.       <li>操作二</li>  
  11.       <li><asp:Button ID="btnShow" runat="server" Text="操作三(弹出层)" OnClientClick="return ShowBlock();" /></li>  
  12.       <li>操作四</li>  
  13.       <li>操作五</li>  
  14.      </ul>  
  15.     </div>  
  16.   
  17.   
  18.     <!--弹出层,-->     
  19.     <div id="divNewBlock" style=" border:solid 5px;padding:10px;width:600px;z-index:1001;   
  20.         position: absolute; display:none;top:50%; left:10%;margin:-50px;">  
  21.             <div style="padding:3px 15px 3px 15px;text-align:left;vertical-align:middle;" >  
  22.                 <div>  
  23.                    弹出层,平时在隐藏状态,这里可以放控件,加载数据,操作数据等。  
  24.                 </div>  
  25.                 <div>       
  26.                     <asp:Button ID="BtnOperation" runat="server" Text="操作按钮" OnClientClick="return Operate();"/>   
  27.                       
  28.                     <asp:Button ID="BttCancel"  runat="server" Text="关闭" OnClientClick="return HideBlock();" />  
  29.                 </div>  
  30.             </div>  
  31.       </div>   
  32.     </form>  
  33. </body>  
  34.   
  35.   
  36. <script type="text/javascript" language="javascript">  
  37.     function HideBlock() {  
  38.         document.getElementById("divNewBlock").style.display = "none";  
  39.         return false;  
  40.     }  
  41.   
  42.   
  43.     function ShowBlock() {  
  44.         var set = SetBlock();  
  45.         document.getElementById("divNewBlock").style.display = "";  
  46.         return false;  
  47.     }  
  48.   
  49.   
  50.     function SetBlock() {  
  51.         var top = document.body.scrollTop;  
  52.         var left = document.body.scrollLeft;  
  53.         var height = document.body.clientHeight;  
  54.         var width = document.body.clientWidth;  
  55.   
  56.   
  57.         if (top == 0 && left == 0 && height == 0 && width == 0) {  
  58.             top = document.documentElement.scrollTop;  
  59.             left = document.documentElement.scrollLeft;  
  60.             height = document.documentElement.clientHeight;  
  61.             width = document.documentElement.clientWidth;  
  62.         }  
  63.         return { top: top, left: left, height: height, width: width };  
  64.     }  
  65.   
  66.   
  67.     function Operate() {  
  68.         return false;  
  69.     }  
  70.     </script>  
  71. </html>  

效果如下:


其实是很简单的控制,这样一来加载数据和操作等都在当前页面,对于要求不是很多的操作就方便了许多。

代码下载: http://download.csdn.net/detail/yysyangyangyangshan/7734257
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值