• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Asp.net弹出层并且有遮罩层

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

实现方法一:

<!--用js控制显示-->    <script type="text/javascript" language="javascript">        function ShowNo()                        //隐藏两个层        {            document.getElementById("doing").style.display="none";            document.getElementById("divLogin").style.display="none";        }        function $(id)                 {            return (document.getElementById) ? document.getElementById(id) : document.all[id] ;        }        function showFloat()                    //根据屏幕的大小显示两个层        {            var range = getRange();            $('doing').style.width = range.width + "px";            $('doing').style.height = range.height + "px";            $('doing').style.display = "block";            document.getElementById("divLogin").style.display="";        }        function getRange()                      //得到屏幕的大小        {              var top     = document.body.scrollTop;              var left    = document.body.scrollLeft;              var height  = document.body.clientHeight;              var width   = document.body.clientWidth;

              if (top==0 && left==0 && height==0 && width==0)
              {
                top     = document.documentElement.scrollTop;
                left    = document.documentElement.scrollLeft;
                height  = document.documentElement.clientHeight;
                width   = document.documentElement.clientWidth;
              }
              return  {top:top  ,left:left ,height:height ,width:width } ;
        }
    </script>
    <style type="text/css"> 
            body{margin:0px;}
    </style>

<form > 
    <a href="javascript:void(0)" onclick="showFloat()">登陆</a>     //登陆链接
    <!--加一个半透明层-->
    <div >
    </div>   
    <!--加一个登录层-->
    <div >
            <div style="padding:3px 15px 3px 15px;text-align:left;vertical-align:middle;" >
                <div>
                    用户:
                  <asp:TextBox ID="TxtUserName" runat="server" > </asp:TextBox>
                </div>
                <div>
                    密码:
                  <asp:TextBox ID="TxtUserPwd" runat="server" TextMode="Password" > </asp:TextBox>
                </div>
                <br/>
                <div>  &nbsp; &nbsp;
                    <asp:Button ID="BttLogin" runat="server" Text=" 登 陆 "/>&nbsp;
                    <input />
                </div>
            </div>
      </div>
    </form>

实现方法二:

使用AjaxToolkit的ModalPopupExtender实现:

1.控件功能描述

以模式窗口的方式弹出客户或服务器控件,以突出显示! 弹出的一般是DIV或PANEL.

2.控件属性描述

TargetControlID : 触发弹出操作的控件ID.

PopupDragHandleControlID : 弹出层中可以拖动的层的控件ID. 就是"标题栏"层ID.

PopupControlID: 要弹出的层的ID.

BackgroundCssClass: 弹出层背景样式.

DropShadow: 是否在弹出层的边缘显示阴影.

OkControlID: 弹出层中确定按钮ID.

OnOkScript : 点击确定按钮的事件.

CancelControlID :弹出层中取消显示弹出层的控件ID.

OnCancelScript : 点击取消按钮的事件.

X,Y :指定弹出层的位置.

RepositionMode : 指示当页面窗口调整大小或滚动时,弹出层是否要进行位置移动

 

 

3.功能演示

3.1 页面代码

<style type="text/css">
.modalBackground 
{
    background-color
:Gray;
    filter
:alpha(opacity=50);
    opacity
:0.5;
};
.modalPopup 
{
    background-color
:White;
    opacity
:0;
}
style>

...

<div>
<asp:Button runat="server" ID="btnViewMore" Text="More" />
        
<asp:Panel ID="pnlViewCustomer" runat="server" CssClass="modalPopup" style="display:none;"> 
            
<div style="margin:10px">
                
<h1>The service is not available in <span id="Country">span>.h1>
                
<asp:Button runat="server" ID="viewBox_OK" Text="OK" />
            
div>
        
asp:Panel> 
        
<ajaxToolkit:ModalPopupExtender ID="ModalPopupExtender2" runat="server" 
            TargetControlID
="btnViewMore" Drag ="true"
            PopupDragHandleControlID
="pnlViewCustomer" 
            PopupControlID
="pnlViewCustomer"
            BackgroundCssClass
="modalBackground"
            DropShadow
="false"
            OkControlID
="viewBox_OK">
        
ajaxToolkit:ModalPopupExtender>
div>

4.试验过程中碰到的问题及原因

4.1 弹出层后,并没有屏蔽层以外的控件.

原因:没有设置BackgroundCssClass. 这个CSS是要自己写的. 如例子中的modalBackground.

4.2 设置BackgroundCssClass后,弹出层也显示成灰色.

原因:没有设置弹出层pnlViewCustomer的CSSCLASS. 这个CSS也是要自己写的. 如例子中的modalPopup.

5.总结

5.1 要达到模式弹出的效果,需要设置ModalPopupExtender的BackgroundCssClass样式,并在此样式中加上过滤效果!

 

 

http://blog.csdn.net/gaoliuchang/archive/2008/08/02/2756630.aspx

本文来自CSDN博客,转载请标明出处:


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Asp.net直接保存文件到客户端发布时间:2022-07-10
下一篇:
T4 Templates: A Quick-Start Guide for ASP.NET MVC Developers发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap