asp.net模态窗口返回值
个人感觉模态窗口在做网站的时候,使用到的比较少,前段时间在做项目时要实现以模态窗口传值和接收返回值,
模态窗口传值实现比较简单,但是做好后发现在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模态窗口返回值的更多相关文章
- JS模态窗口返回值兼容问题解决方案
因系统要兼容原IE已使用的关闭方法,经调试测得,需对window.dialogArguments进行再较验,不然易出问题. function OKEnd(vals) { if (vals == nul ...
- js模态窗口返回值(table)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- ASP.Net WebAPI的返回值
Asp.Net WebAPI服务函数的返回值主要可以分为void.普通对象.HttpResponseMessag.IHttpActionResult e四种,本文这里简单的介绍一下它们的区别. 一.返 ...
- HTML 父窗口打开子窗口,并从子窗口返回值
父窗口:windowdemo.html <html> <head> <title> 接收子窗口返回的内容 </title> <script lan ...
- Asp.Net WebApi接口返回值IHttpActionResult
WebApi是微软在VS2012 MVC4版本中绑定发行的,webapi2.0同mvc5发行的 webapi一共有以下接口返回值 1.void无返回值2.IHttpActionResult Json( ...
- ASP.NET Web API2返回值处理流程
关于WebApi2控制器方法的四种返回类型请参考官方文档: https://docs.microsoft.com/zh-cn/aspnet/web-api/overview/getting-start ...
- Python之tkinter中的askyescancel窗口返回值
if messagebox.askokcancel(title="确认取消",message="您确认注册该账号吗?"): messagebox.showinf ...
- javascript 弹出的窗口返回值给 父窗口
直接上代码,有些地方可以用到: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <H ...
- JS 弹出模态窗口解决方案
最近在项目中使用弹出模态窗口,功能要求: (1)模态窗口选择项目 (2)支持选择返回事件处理 在IE中有showModalDialog 方法,可以很好的解决该问题,但是在Chrome中和FF中就有问题 ...
随机推荐
- I/O CPU
http://www.educity.cn/zk/czxt/201306041038131789.htm http://blog.csdn.net/xiazdong/article/details/6 ...
- [spring-framework]Spring定时器的配置和使用
开发中我们常常会做一些定时任务,这些任务有开始时间,并会按一定的周期或规则执行.如此我们在Java程序开发中使用定时器来处理定时任务. <!-- MessageRequestTask类中包含了m ...
- 译文: async/await SynchronizationContext 上下文问题
async / await 使异步代码更容易写,因为它隐藏了很多细节. 许多这些细节都捕获在 SynchronizationContext 中,这些可能会改变异步代码的行为完全由于你执行你的代码的环境 ...
- BZOJ1271: [BeiJingWc2008]秦腾与教学评估
题目:http://www.lydsy.com/JudgeOnline/problem.php?id=1271 题解: 这种题真是太神了! 只需要考虑被覆盖的次数的奇偶性,并且保证满足题意的点至多只有 ...
- 【转】Eclipse中设置ButterKnife进行注解式开发步骤 -- 不错
原文网址:http://www.bubuko.com/infodetail-974262.html 最近在进行Android注解式开发的学习,正在尝试用ButterKnife.ButterKnife的 ...
- 移植lrzsz串口文件传输工具到mini2440
1.下载源码2.解压源码 tar -xzf lrzsz-0.12.20.tar.gz 3.检查配置 ./configure 4.修改Makefile 有三个Makefile需要修改,分别是lrzsz- ...
- Sublime Text 2 中文包
下载中文包 大家直接下载吧 http://download.csdn.net/detail/onebelowzero2012/9331981 注意解压路径,一开始我以为D:\MySublime\Sub ...
- 51Testing招聘软件测试课程研发人员
最近有些两三年测试工作经验的小伙伴对自己的下一个工作有些迷茫,感觉很难有技术的突破,毕竟公司不是学校,不会允许员工海阔天空的去尝试各种新的技术.现在我就送给这些好学上进的小伙伴一个礼物,51Testi ...
- maya 操作自我整理(一)
绘制曲线时的点的控制 当我们在使用CV Curve Tool或者EP Curve Tool创建NURBS曲线的过程中,按下"Insert"键,配合键盘上的上.下箭头方向键,可以自由 ...
- BCTF赛后
今天早上八点,BTCF第一届落幕.虽然没有熬夜coding但还是十分开心. 从收到超哥的邀请,到回头组队,一开始的十几人,最后演化为五人的精简小分队,到昨晚把所有有想法的题目全部搞定,十分的开心和欣慰 ...