ASP.NET—013:实现带控件的弹出层(弹出框)
2014-09-23 11:10
127 查看
在页面中用到弹出新页面的情况比较多的,一般来说都是使用JS方法
showModalDialog("新页面相对路径+?参数1&参数2",window,"新页面样式");然后会新弹出一个模态的page页。
而在有些时候,仅仅是显示一些单一的、少量的数据,或者一些简单的操作时。就没必要使用新弹出页面了。
此时,最好使用弹出层,也就是数据还是显示在当前页面的某个控件上,然后通过JS方法实现达到弹出的目的。
看下面的例子:
[html] view
plaincopyprint?
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ul>
<li>操作一</li>
<li>操作二</li>
<li><asp:Button ID="btnShow" runat="server" Text="操作三(弹出层)" OnClientClick="return ShowBlock();" /></li>
<li>操作四</li>
<li>操作五</li>
</ul>
</div>
<!--弹出层,-->
<div id="divNewBlock" style=" border:solid 5px;padding:10px;width:600px;z-index:1001;
position: absolute; display:none;top:50%; left:10%;margin:-50px;">
<div style="padding:3px 15px 3px 15px;text-align:left;vertical-align:middle;" >
<div>
弹出层,平时在隐藏状态,这里可以放控件,加载数据,操作数据等。
</div>
<div>
<asp:Button ID="BtnOperation" runat="server" Text="操作按钮" OnClientClick="return Operate();"/>
<asp:Button ID="BttCancel" runat="server" Text="关闭" OnClientClick="return HideBlock();" />
</div>
</div>
</div>
</form>
</body>
<script type="text/javascript" language="javascript">
function HideBlock() {
document.getElementById("divNewBlock").style.display = "none";
return false;
}
function ShowBlock() {
var set = SetBlock();
document.getElementById("divNewBlock").style.display = "";
return false;
}
function SetBlock() {
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 };
}
function Operate() {
return false;
}
</script>
</html>
效果如下:
其实是很简单的控制,这样一来加载数据和操作等都在当前页面,对于要求不是很多的操作就方便了许多。
代码下载:http://download.csdn.net/detail/yysyangyangyangshan/7734257
showModalDialog("新页面相对路径+?参数1&参数2",window,"新页面样式");然后会新弹出一个模态的page页。
而在有些时候,仅仅是显示一些单一的、少量的数据,或者一些简单的操作时。就没必要使用新弹出页面了。
此时,最好使用弹出层,也就是数据还是显示在当前页面的某个控件上,然后通过JS方法实现达到弹出的目的。
看下面的例子:
[html] view
plaincopyprint?
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<ul>
<li>操作一</li>
<li>操作二</li>
<li><asp:Button ID="btnShow" runat="server" Text="操作三(弹出层)" OnClientClick="return ShowBlock();" /></li>
<li>操作四</li>
<li>操作五</li>
</ul>
</div>
<!--弹出层,-->
<div id="divNewBlock" style=" border:solid 5px;padding:10px;width:600px;z-index:1001;
position: absolute; display:none;top:50%; left:10%;margin:-50px;">
<div style="padding:3px 15px 3px 15px;text-align:left;vertical-align:middle;" >
<div>
弹出层,平时在隐藏状态,这里可以放控件,加载数据,操作数据等。
</div>
<div>
<asp:Button ID="BtnOperation" runat="server" Text="操作按钮" OnClientClick="return Operate();"/>
<asp:Button ID="BttCancel" runat="server" Text="关闭" OnClientClick="return HideBlock();" />
</div>
</div>
</div>
</form>
</body>
<script type="text/javascript" language="javascript">
function HideBlock() {
document.getElementById("divNewBlock").style.display = "none";
return false;
}
function ShowBlock() {
var set = SetBlock();
document.getElementById("divNewBlock").style.display = "";
return false;
}
function SetBlock() {
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 };
}
function Operate() {
return false;
}
</script>
</html>
效果如下:
其实是很简单的控制,这样一来加载数据和操作等都在当前页面,对于要求不是很多的操作就方便了许多。
代码下载:http://download.csdn.net/detail/yysyangyangyangshan/7734257
相关文章推荐
- ASP.NET—013:实现带控件的弹出层(弹出框)
- ASP.NET—013:实现带控件的弹出层(弹出框)
- ASP.NET—013:实现带控件的弹出层(弹出框)
- Android 控件——利用Dialog实现底部弹出对话框
- jquery控件-实现自定义样式的弹出窗口和确认框
- VC中实现在指定控件上弹出右键菜单
- 用户控件 + ScriptManager 实现点击后弹出窗口且窗口坐标追随点击位置效果
- 让Flex控件 Canvas实现弹出窗口并拖动
- 安卓实现登陆页logo随键盘收放动态伸缩(完美解决键盘弹出遮挡控件的问题)
- .net实现用户控件的弹出层
- aspnet 利用FileUpload控件实现弹出选择文件功能
- .net实现点击textbox控件弹出日历控件Calendar代码
- [DevExpress控件应用]XtraNavBar: 实现弹出快捷菜单功能
- 设置点击文本框或图片弹出日历控件的实现代码
- 设置点击文本框或图片弹出日历控件的实现代码
- 用 js、html、css实现一个弹出提示控件:
- 今天在实现ToolTip时发生的 0xfeeefeee问题,单击static控件时不能弹出提示问题
- 鼠标右键弹出菜单 上传图片自定义控件 弹出菜单(PopUp 控件) 2 实现数据库插入操作 文件名通过参数传递
- VC中实现在指定控件上弹出右键菜单
- android基础控件-弹出对话框的实现