asp.net弹出多个模态窗口
asp.net中无限制弹出模态窗口
特点:
1. 可以在模态窗口上再弹出模态窗口,不限制次数
2. 弹出窗口的支持拖放,及调整大小
3. 弹出窗口关闭后可以动态控制是否刷新父窗口
总共需要3个页面来做演示
1. 页面ModalDemo.aspx
前台代码:
<head runat="server">
<title>无标题页</title>
<base target="_self" />
<script type="text/javascript">
function OpenDialogWithReturn(url,width,height,formID,action)
{
var retValue = window.showModalDialog( url ,null,"dialogWidth:" + width + "px;dialogHeight:" + height + "px;help:no;unadorned:yes;resizable:yes;status:no;scrollbars:yes");
if (retValue != null && retValue != undefined && retValue == "SubmitForm")
{
if(action != null && action != undefined && action.Length > 0)
{
formID.Action=action;
}
formID.submit();
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<a href="#" onclick="OpenDialogWithReturn('ModalPage1.aspx',520,410,form1,'ModalDemo.aspx');">通过页面脚本来弹出模态窗口</a><br />
<br />
<br /><asp:Button ID="btnDetail" runat="server"
onclick="btnDetail_Click" Text="通过动态注册弹出窗口" />
<br />
<div>
<%=DateTime.Now %>
</div>
</div>
</form>
</body>
后台代码:
protected void btnDetail_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterStartupScript(this.GetType(), "", "OpenDialogWithReturn('ModalPage1.aspx',520,410,form1,'ModalDemo.aspx');", true);
}
2.第二个页面ModalPage1.aspx
前台代码:
<head runat="server">
<title>第一个模态窗口</title>
<base target="_self" />
<script type="text/javascript">
function OpenDialogWithReturn(url,width,height,formID,action)
{
var retValue = window.showModalDialog( url ,null,"dialogWidth:" + width + "px;dialogHeight:" + height + "px;help:no;unadorned:yes;resizable:yes;status:no;scrollbars:yes");
if (retValue != null && retValue != undefined && retValue == "SubmitForm")
{
if(action != null && action != undefined && action.Length > 0)
{
formID.Action=action;
}
formID.submit();
}
}
</script>
</head>
<body onunload="window.returnValue='SubmitForm';">
<form id="form1" runat="server">
<div>
<a href="#" onclick="OpenDialogWithReturn('ModalPage2.aspx',500,400,form1,'ModalPage1.aspx');">
通过页面脚本来弹出模态窗口</a>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="通过动态注册脚本来弹出模态窗口"
OnClick="Button1_Click" />
<br />
<br />
<br />
<asp:Button ID="btnOK" runat="server" OnClick="btnOK_Click" Text="确定" />
<br />
<div>
<%=DateTime.Now %></div>
</div>
<asp:Button ID="Button2" runat="server" Text="添加" />
</form>
</body>
后台代码:
//弹出新的模态窗口
protected void Button1_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterStartupScript(this.GetType(), "", "OpenDialogWithReturn('ModalPage2.aspx',500,400,form1,'ModalPage1.aspx');", true);
}
//关闭当前窗口,并刷新父页面
protected void btnOK_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "window.returnValue='SubmitForm';window.close();", true);
}
3. 第三个页面ModalPage2.aspx
前台代码:
<head runat="server">
<title>第二个模态窗口</title>
<base target="_self" />
</head>
<body onunload="window.returnValue='SubmitForm';">
<form id="form1" runat="server">
<div>
<asp:Button ID="Button1" runat="server" Text="ok" OnClick="Button1_Click" />
</div>
<div>
<asp:Button ID="Button2" runat="server" Text="添加" />
</div>
<br />
<div>
<%=DateTime.Now %></div>
</form>
</body>
后台代码:
//关闭当前窗口,并刷新父窗口
protected void Button1_Click(object sender, EventArgs e)
{
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "", "window.returnValue='SubmitForm';window.close();", true);
}
asp.net弹出多个模态窗口的更多相关文章
- asp .NET弹出窗口 汇总(精华,麒麟创想)
asp .NET弹出窗口 汇总(精华,麒麟创想) 注://关闭,父窗口弹出对话框,子窗口直接关闭 this.Response.Write("<script language=javas ...
- Asp.net弹出层并且有遮罩层
长久以来,asp.net弹出层并且有遮罩层问题都是一个难以解决的问题,鉴于此,我决定写个弹出层发布出来,供大家使用... 这里的doing层是遮罩层,divLogin层是登陆层 若有其他问题请留言或邮 ...
- asp.net 弹出式日历控件 选择日期 Calendar控件
原文地址:asp.net 弹出式日历控件 选择日期 Calendar控件 作者:逸苡 html代码: <%@ Page Language="C#" CodeFile=&quo ...
- ASP.NET弹出提示点击确定之后再跳转页面的方法
//ASP.NET弹出提示点击确定之后再跳转页面的方法 //弹出了提示并且通过location.href转到了DeskTop.aspx页面 Response.Write("<scrip ...
- 点击文字弹出一个DIV层窗口代码
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...
- [转]C# 安装时弹出设置服务登录窗口
本文转自:http://blog.csdn.net/prince_jun/article/details/38435887 安装服务时系统不要弹出设置服务登录窗口:在程序中将serviceProces ...
- C# Winform在win10里弹出无焦点的窗口
原文:C# Winform在win10里弹出无焦点的窗口 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/wangmy1988/article/det ...
- SetWinEventHook 事件钩子(有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动等)good
相信消息钩子大家听的比较多,消息钩子能够在应用程序处理系统消息之前将其截获,提前处理并可以决定是否继续将消息往下传送,有些windows事件并没有消息对应,譬如弹出菜单,切换窗口,获得焦点,滚动条滚动 ...
- jquery3和layui冲突导,致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
项目中使用的jquery版本是jquery-3.2.1,在使用layui弹出全屏iframe窗口时,iframe窗口顶部总是出现一个152px高的滚动窗口无法实现真正全屏,代码如下: <!DOC ...
随机推荐
- Linux内核之进程和文件共享
1.Shell命令的执行和进程 Shell 命令可以是内部或者外部命令. 内部(内置)命令(internal (built-in) command)的代码本身就是shell进程的一部分.L ...
- Oracle EBS-SQL (WIP-8):检查期间任务下达记录数.sql
select WE.DESCRIPTION 任 ...
- Windows 下 Django/python 开发环境配置
1.安装 Aptana/Eclipse Aptana是在eclipse上二次开发的一个开源的集成开发环境,内置python编译器 http://www.aptana.com/ 2. 安装python ...
- Android之Adapter用法总结
http://blog.csdn.net/fznpcy/article/details/8658155 Android之Adapter用法总结 1.概念 Adapter是连接后端数据和前端显示的适配器 ...
- Dll注入的几个注意事项
1. 使用钩子SetWindowHookEx注入时,设置钩子的代码必须和钩子回调函数在注入DLL中,并且调用CallNextHookEx时第一个参数必须为钩子的句柄,否则只有一个进程响应钩子. 2.关 ...
- Delphi 进阶基础技能说明
以下讨论均基于Delphi XE8,主要是利用DELPHI新版的功能,如:Unicode,泛型,匿名函数等[XE2 后应该都支持]. 用新特性的好处是少写代码,提高效率.本博客不再讨论Delphi旧版 ...
- CC++初学者编程教程(13) 基于Oracle linux 的Oracle12c环境搭建
1设置虚拟机选项 2 设置文件夹共享 3启动文件夹共享向导 4 设置共享文件夹 5 启用共享 6 关闭虚拟机设置 7 开启虚拟机 8 登陆帐户 9 看见虚拟机桌面 10 安装vmwaretools 1 ...
- C++ 文件的复制、删除、重命名
一.文件的复制 #include <iostream>#include <fstream>using namespace std; int CopyFile(char *Sou ...
- poj3006
Dirichlet's Theorem on ...
- Android UI ActionBar功能-ActionBarProvider的使用
分享功能是很多App都有一个功能,ActionBarProvider可以实现分享功能: 3.0以前的版 本和3.0以后的版 本的区别: public class MainActivity extend ...