在项目经常会遇到这么一种情况,要在弹出的窗口里面修改父页面中的数据。本文以模式窗口为例,说明如何在更新模式窗口页面之后刷新父窗口的内容。
在一般的情况下,模式窗口的关闭并不会刷新父窗口,我们需要在打开模式窗口的javascript中添加额外的脚本来刷新他的父窗口。
实现如下:
string url = "ICManageAdd.aspx?ICID="+ICID+"&temp="+rd.Next().ToString()+"&UserName="+Session["UserName"].ToString();
e.Item.Cells[4].Attributes.Add("style","cursor:hand;");
e.Item.Cells[4].Attributes.Add("onclick","window.showModalDialog('"+url+"', '', 'dialogWidth=700px;dialogHeight=600px; status:no; help:no;');window.location.reload();)
这个语句是在Datagrid的一个列中加入弹出模式窗口的功能,在弹出的窗口中 对Datagrid某行的详细数据进行修改。由于模式窗口的弹出会使父窗口页面的执行中断,我们可以在弹出模式窗口后加入对自己页面的刷新:window.location.reload()。执行的效果是在关闭模态窗口后,整个父页面进行刷新。
但是这个功能并不能很好地满足需求,比如父页面Datagrid的数据是经过点击页面中查询按钮而得到的,那么刷新整个父页面边不合适了,造成很差的用户体验。为了在这种情况下刷新,我们可以用javascript模拟点击页面的查询按钮,这样既更新了内容,又保持了datagrid中的记录。
实现如下:
将window.location.reload()替换为document.Form1.btnSearch.onclick(); 其中btnSearch是父页面搜索按钮的id
最后还得使模态窗口不要缓存内容,在cs中加入
Response.Expires = 0;
这样就解决了模式窗口的刷新问题
分享到:
相关推荐
当用户在子窗体中进行操作后,比如编辑、添加或删除数据,通常希望在关闭子窗体时能够自动刷新父窗体,以便显示最新的数据状态。这涉及到事件处理和对象间的通信。以下是对这一主题的详细解释。 首先,我们需要了解...
在Web前端开发领域中,"窗口刷新父窗口然后关闭"是一个在特定操作后常用的功能实现。例如,在一些需要即时数据更新的场景下,用户在完成某项操作后,我们不仅需要关闭当前操作窗口,还要确保父窗口的数据得到了更新...
在提供的代码片段中,`Page.ClientScript.RegisterStartupScript`函数被用来注册一段JavaScript脚本,这段脚本的作用是修改父窗口中某个元素的值,并最终刷新父窗口的位置,以触发页面的重新加载,从而显示最新的...
这种设计模式允许子窗口在关闭时通知父窗口执行特定的动作。 #### 总结 通过这种方式,我们可以非常灵活地处理不同场景下的窗口交互问题。利用委托不仅可以简化代码逻辑,还可以提高代码的可读性和可维护性。在...
来得到父窗口,但是可以借助showModealDialog的返回值来判断是否刷新,当调用showModealDialog时,父窗口代码会停在这一行,当弹出的模式窗口关闭时给window.returnValue赋值,再调用window.close()方法,最后submi
- 当子窗体关闭或隐藏时,可以利用这些事件来自动刷新父窗体。 7. **`Win_RefFrmMain`示例**: - 根据提供的文件名`Win_RefFrmMain`,这可能是父窗体的类名。在实际应用中,可能包含实现上述方法的代码,如`...
EasyUI提供了一种方式,通过`parent`关键字来访问父窗口的对象,从而调用其上的函数。假设在父页面上有一个名为`updateParentData`的函数,可以在子页面中这样调用: ```javascript parent.updateParentData('子...
当子窗体完成需要刷新父窗体的操作时,触发这个事件。例如: ```csharp if (RefreshParent != null) RefreshParent(); ``` 4. **订阅事件**: 在父窗体中,我们需要订阅子窗体的事件。在创建子窗体实例时,...
此例子"一个采用AJAX (ASP.NET 2.0)实现子窗体关闭父窗体异步刷新程序"就是针对这一目标设计的,它探讨了如何在ASP.NET 2.0环境中通过AJAX技术实现在子窗口关闭时,条件性地刷新父窗口的部分内容。 首先,我们需要...
- 当弹出窗口关闭时,我们可以根据返回值来判断是否需要刷新父页面。 3. **在弹出的窗口中设置返回值**: 假设弹出的窗口是一个包含表单的页面,当用户填写完表单并点击提交按钮时,可以在JavaScript中设置返回值...
如果需要关闭父窗口,则可以使用以下代码: ```javascript window.opener && window.opener.close(); ``` 此方法用于关闭打开当前窗口的窗口。若当前窗口不是由其他窗口打开的,则`window.opener`将为`undefined`...
- **定义事件处理方法**:在父窗体中定义事件处理方法,该方法会在子窗体的事件触发时执行,用于刷新父窗体的界面。 ```csharp private void ChildForm_RefreshParentFormEvent(object sender, EventArgs e) { ...
- `window.opener.location.reload()`:如果弹出窗口是通过`window.open()`创建的,那么可以使用`window.opener`属性来访问并刷新父窗口。 - `window.dialogArguments.location.reload();`:对于通过`window....
2. 使用 window.opener.location.reload() 方法,可以刷新父窗口。 3. 使用 window.dialogArguments.location.reload() 方法,可以刷新模式窗口。 三、JavaScript 弹出窗口代码 window.open() 方法是 JavaScript ...
但是,由于***的缓存机制,有时候在关闭弹出窗口并刷新父页面后,用户再次打开模式窗口时,显示的还是旧数据。这是因为模式窗口中的数据被缓存了,未被及时更新。 为了解决这个问题,我们需要在关闭模式窗口后清除...
实例357 关闭弹出窗口时刷新父窗口 574 实例358 打开新窗口显示详细信息 575 实例359 弹出网页模式对话框 577 实例360 日期选择器 580 实例361 弹出提示对话框并重定向网页 584 实例362 打开指定大小的新...
在网页开发中,模态窗口(Modal Window)是一种常见的用户界面设计模式,它可以在当前页面上弹出一个半透明的窗口,强制用户与其交互后才能继续操作主页面。这种设计通常用于确认操作、输入信息或者展示详细内容等...
- `endwin()`函数用于关闭ncurses环境,恢复正常的终端模式,并清空屏幕。 在"5_much_children_window"这个压缩包中,可能包含了示例代码或教程,用于展示如何在Linux下使用ncurses库创建和管理多子窗口。通过学习...
当从一个弹出窗口触发刷新操作时,可以使用以下方法来刷新父窗口: ```javascript // 对于使用window.open()弹出的窗口 window.opener.location.reload(); // 对于使用window.showDialog()弹出的窗口 window....