.NET同一个页面父容器与子容器通信方案
主界面:


关键主页面代码:
<div id="EditDiv">
<iframe src="javascript:void(0)" id="editFrame" width="100%" height="100%" frameborder="0"></iframe>
</div> ---------------以下js脚本(关键代码)-----------
//绑定修改的超链接
function bindEditLinkClickEvent() {
$(".editLink").click(function () {
var newsId = $(this).attr("newsId");
//getNews2EditForm(newsId); //从后台加载数据然后把数据放到修改文本框上去
//弹出对话框之前,把iframe标签的src属性设置成修改页面地址
$("#editFrame").attr("src", "EditNews.aspx?id="+newsId);
showEditDialog(); //弹出编辑div
});
}; //弹出编辑div
function showEditDialog() {
$("#EditDiv").css("display", "block");
$("#EditDiv").dialog({
title: "修改对话框",
width: 500,
height: 500,
modal: true,
collapsible: true,
minimizable: true,
maximizable: true,
resizable: true,
buttons: [{
text: "修改",
iconCls: "icon-add",
handler: submitChildEditFrm
}, {
text: "关闭",
iconCls: "icon-cancel",
handler: function () {
$("#EditDiv").dialog("close");
}
}]
});
} //异步提交子页面的表单
function submitChildEditFrm() {
//先拿到子容器的windows对象,并调用子容器的js函数
var domFrame = $("#editFrame")[0];
domFrame.contentWindow.submitFrm();
};
子容器代码:
<form id="form1" runat="server">
<div>
<input type="hidden" name="id" value="<%=News.id %>" id="id" />
<table>
<tr>
<td>新闻标题</td>
<td><input type="text" name="title" id="txtTitle" value="<%=News.title %>" /></td>
</tr>
<tr>
<td>新闻内容</td>
<td><input type="text" name="contents" id="txtContent" value="<%=News.contents %>" /></td>
</tr>
</table>
</div>
</form> //-----以下JS脚本-------
<script src="../Script/jquery-3.4.1.js"></script>
<script type="text/javascript">
function submitFrm() {
//让表单整体异步的提交后台。
var postData = $("#form1").serializeArray();
$.ajax({
url: "EditNews.aspx",
type: "post",
dataType: "json",
data: postData,
success: function (data) {
if (data.success == "ok") {
alert("修改成功!");
//关闭父容器的对话框,刷新父容器的表格
window.parent.window.afterEditSuccess();
} else {
alert("修改失败!")
}
},
error: function (err)
{
alert(err);
}
});
}
</script>
搞定~~
.NET同一个页面父容器与子容器通信方案的更多相关文章
- 父容器根据子容器高度自适应:设置父容器 height:100%;overflow:hidden;
父容器根据子容器高度自适应:设置父容器 height:100%;overflow:hidden;
- 查看Spring MVC 父容器和子容器的对象的实例
话不多说,直接上案例 package com.oukele.web; import org.springframework.beans.factory.annotation.Autowired; im ...
- 结合源码浅谈Spring容器与其子容器Spring MVC 冲突问题
容器是整个Spring 框架的核心思想,用来管理Bean的整个生命周期. 一个项目中引入Spring和SpringMVC这两个框架,Spring是父容器,SpringMVC是其子容器,子容器可以看见父 ...
- Spring MVC 根容器和子容器
整合 spring mvc 根容器和子容器 public class TestWebInitializer extends AbstractAnnotationConfigDispatcherServ ...
- Spring父容器与子容器
在使用spring+springMVC的web工程中,我们一般会在web.xml中做如下配置: <context-param> <param-name>contextConfi ...
- Spring - 父容器与子容器
一.Spring容器(父容器) 1.Mapper代理对象 2.Service对象 二.Springmvc(前端控制器)(子容器) Controller对象 1.标准的配置是这样的:Con ...
- 【CSS】div父容器根据子容器大小自适应
Div即父容器不根据内容自动调节高度,我们看下面的代码: <div id="main"> <div id="content"></ ...
- html 父容器和子容器通信
通过拿到document对象下的window对象后执行对应的方法.
- SpringMVC——DispatcherServlet的IoC容器(Web应用的IoC容器的子容器)创建过程
在上一篇<Spring--Web应用中的IoC容器创建(WebApplicationContext根应用上下文的创建过程)>中说到了Web应用中的IoC容器创建过程.这一篇主要讲Sprin ...
随机推荐
- 如何编写 maptalks plugin
前面写过 maptalks plugin ( ArcGISTileLayer ),有读者留言说文章写得太精简,根据文章给出的核心代码没办法写出一个完整的 plugin ( 文中有完整 demo 地址, ...
- hadoop mapreduce求解有序TopN
利用hadoop的map和reduce排序特性实现对数据排序取TopN条数据. 代码参考:https://github.com/asker124143222/wordcount 1.样本数据,假设是订 ...
- yum工具及源码包
目录 yum工具及源码包 yum yum源 yum实战案例 yum全局配置文件 制作本地yum仓库 构建企业级yum仓库 源码包 yum工具及源码包 yum yum是RedHat以及CentOS中的软 ...
- Eclipse为不同的文件类型设置编码格式和编辑器
不知道大家遇到项目中编码格式不统一的情况没有,哈哈,我们就是,比如java的编码格式是GBK,html等编码是UTF-8,这样会导致很多问题,比如提交了一个UTF-8的java文件到SVN,会导致后端 ...
- [Go] gocron源码阅读-go语言中的切片接口和类型综合
// getCommands func getCommands() []cli.Command { command := cli.Command{ Name: "web", Usa ...
- [视频教程] 基于redis的消息队列实现与思考
使用redis的list列表来实现消息队列功能,相信大家都听过消息队列,但是在业务中可能并没有真正去使用它.在公司项目中正好有个场景使用到了消息队列,因此就来说一下流程.在web界面上有个功能是群发邮 ...
- 在python的虚拟环境venv中使用gunicorn
昨天遇到的问题,一个服务器上有好几个虚拟机环境. 我active进一个虚拟环境,安装了新的三方库之后, 使用gunicorn启动django服务, 但还是死活提示没有安装这个三方库. 一开始没有找到原 ...
- 3. Go语言—函数和常量
一.函数声明和注释 1. 声明 func 函数名 (参数列表)(返回值列表){} func add{ pass } func add(a int, b int){ } func add(a int ...
- 好用的代码统计小工具SourceCounter(下载)
SourceCounter下载链接 https://pan.baidu.com/s/12Cg51L0hRn5w-m1NQJ-Xlg 提取码:i1cd 很多时候我们需要统计自己所写的代码的数量.举个栗子 ...
- linux虚拟机安装python 及 配置环境变量
一.安装anaconda 下载anaconda安装包 (wget -P filepath 下载链接) linux下安装anaconda教程,并添加清华镜像 sh Anaconda3-5.3.1-Lin ...