个人感觉模态窗口在做网站的时候,使用到的比较少,前段时间在做项目时要实现以模态窗口传值和接收返回值,

模态窗口传值实现比较简单,但是做好后发现在Chrome浏览器中接收不到返回值,修改好Chrome浏览器的问题后

大概过了有两个星期又发现在IE6下会报错,最终在网上搜索解决办法才修改好

代码:

A为父页面,B为子页面

A页面代码:

 //打开选择客户的模态窗口
function sc(tag) {
var recdata = false;
var strDialogFeatures = "status=no;center=yes;help=no;dialogWidth=700px;dialogHeight=600px;scroll=yes;resize=no";
recdata = showModalDialog("Modal_List_forother.aspx?id=" + tag + "", "newwindow", strDialogFeatures);
       //此处的if判断语句必须需要,如果直接用recdata=window.returnValue赋值的话在IE6下会无法获取到返回值,至于原因,我也不清楚I'M SORRY o(╯□╰)o
if (recdata == undefined) {
recdata = window.returnValue;
}
if (recdata != undefined) {
//刷新父窗口 此处可以不刷新 因项目功能需要 所以在此处做了刷新操作
var url = window.location.href.toString();
         //此处省略对变量url的部分操作,根据需要实现的功能不同代码也会不一样
window.location.href = url;
}
}

B页面代码:

首先在要想在IE6下也能接收模态窗口返回值 先要在B页面的head部分添加代码<base target="_self" />

如下:

<head runat="server">
<title>子窗口</title>
<link href="Styles/basic.css" rel="stylesheet" type="text/css" />
<base target="_self" />
</head>

要想从后台返回值到父页面去,我们还需在页面的cs文件中添加如下代码:

           string strscripts = "";
strscripts = strscripts + "<script type=\"text/javascript\">";
       //这是原先的返回值代码,也是正确的,只是嫌太长不想用
//strscripts = strscripts + " if(window.opener!=undefined){ window.opener.returnValue = '" + name + "'; }else{window.returnValue = '" + name
//+ "';} window.close();</script>";
strscripts = strscripts + " window.returnValue = '" + name+ "';window.close();</script>";
ClientScript.RegisterStartupScript(ClientScript.GetType(), "myscript", "<script type=\"text/javascript\"> window.returnValue = '" + name + "';window.close();</script>");

asp.net模态窗口返回值的更多相关文章

  1. JS模态窗口返回值兼容问题解决方案

    因系统要兼容原IE已使用的关闭方法,经调试测得,需对window.dialogArguments进行再较验,不然易出问题. function OKEnd(vals) { if (vals == nul ...

  2. js模态窗口返回值(table)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. ASP.Net WebAPI的返回值

    Asp.Net WebAPI服务函数的返回值主要可以分为void.普通对象.HttpResponseMessag.IHttpActionResult e四种,本文这里简单的介绍一下它们的区别. 一.返 ...

  4. HTML 父窗口打开子窗口,并从子窗口返回值

    父窗口:windowdemo.html <html> <head> <title> 接收子窗口返回的内容 </title> <script lan ...

  5. Asp.Net WebApi接口返回值IHttpActionResult

    WebApi是微软在VS2012 MVC4版本中绑定发行的,webapi2.0同mvc5发行的 webapi一共有以下接口返回值 1.void无返回值2.IHttpActionResult Json( ...

  6. ASP.NET Web API2返回值处理流程

    关于WebApi2控制器方法的四种返回类型请参考官方文档: https://docs.microsoft.com/zh-cn/aspnet/web-api/overview/getting-start ...

  7. Python之tkinter中的askyescancel窗口返回值

    if messagebox.askokcancel(title="确认取消",message="您确认注册该账号吗?"): messagebox.showinf ...

  8. javascript 弹出的窗口返回值给 父窗口

    直接上代码,有些地方可以用到: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <H ...

  9. JS 弹出模态窗口解决方案

    最近在项目中使用弹出模态窗口,功能要求: (1)模态窗口选择项目 (2)支持选择返回事件处理 在IE中有showModalDialog 方法,可以很好的解决该问题,但是在Chrome中和FF中就有问题 ...

随机推荐

  1. Watch gcc at ubuntu 12,See ELF file header

    first write article at my ubuntu 12. ELF is very important file format.

  2. Java实现字符串反转

    替换原则:index k 的值和 n-k 的值进行交换.(始终记住程序员的n.k都是字符串的实际位置.) 乘除的最基本实现还是来源于移位操作. public String reverse(String ...

  3. 【HDOJ】3221 Brute-force Algorithm

    归来吧很好推导.T(n) = a^f(n-1)*b^f(n)%p.主要难点在于求mod和fibo.引用如下公式A^B%C = A^(B%phi(C) + phi(C))%C, 满足B>=phi( ...

  4. lr 和 Qtp 视频连接

    http://blog.sina.com.cn/s/blog_7085382f01012ysn.html

  5. iOS 多线程学习笔记 —— NSThread

    本文复制.参考自文章:iOS多线程编程之NSThread的使用  ,主要为了加强个人对知识的理解和记忆,不做他用.原作者声明: 著作权声明:本文由http://blog.csdn.net/totogo ...

  6. leetcode排列,求第k个排列

    stl 中的下一个排列在写一遍忘了 写个1个多小时,使用递归写的,错误就在我使用一个list保存当前剩下的数,然后利用k/(n-1)!的阶乘就是删除的数字,但进过观察, 比如 list={1,2,3} ...

  7. ubuntu 100M 到 10M

    浅析ubuntu下如何修改网卡网速--将100M网卡改为10M网卡 公司的路由器可能比较陈旧,机器启动之后,默认网卡是100M的,但是登录QQ经常出现掉线现象,后来得知原来需要将100M网卡降频到10 ...

  8. 第二十三章、软件安装: RPM, SRPM 与 YUM 功能

    SRPM 的使用 : rpmbuild 包含Source code 的 SRPM 新版的 rpm 已经将 RPM 与 SRPM 的命令分开了,SRPM 使用的是 rpmbuild 这个命令,而不是 r ...

  9. 创建maven项目出现的问题

    右击项目无法显示maven图标,创建的pom.xml无法识别,并且创建maven项目时,一直显示Loading archetype list...

  10. XSS 简单理解

    什么是XSS? XSS(Cross Site Scripting),即跨站脚本攻击,是一种常见于web application中的计算机安全漏洞.XSS通过在用户端注入恶意的可运行脚本,若服务器端对用 ...