如何使用JavaScript仅刷新父窗口中的GridView
本文关键字:窗口 GridView 刷新 何使用 JavaScript | 更新日期: 2023-09-27 17:57:52
我有两个aspx文件,用于在销售中添加/删除产品。
- islemler.aspx
- SatisTedari.aspx
我在islemler.aspx中有一个GridView,这个GridView的名称是islemlerGridView
。当在islemlerGridView
上选择一行时,会出现一个按钮,这个按钮的名称为islemDetayGorButton
。
单击islemDetayGorButton
时,会打开SatisTedark.aspx。在SatisTedark.aspx上有许多元素,如标签、文本框、下拉列表、网格视图,通过此SatisTeDark.aspx窗口,用户可以将产品添加到销售中/从销售中删除(销售显示在islemlerGridView
中)。
我需要做的是,当有关销售的内容通过SatisTedark.aspx.更改时,更新islemlerGridView
我发现了这个问题将值从弹出窗口传递到父窗体的TextBox尝试了一些JavaScript,我不得不说我没有JavaScript的经验。我尝试刷新打开窗口,在我的条件下,打开窗口是islemler.aspx。我在SatisTedark.aspx上使用了以下代码:
<script type="text/javascript">
function f2() {
opener.document.getElementById("TextBox1").value = "hello world";//this is just from that example in the link
opener.document.location.reload(true);//that is how I refresh islemler.aspx
}
</script>
这是使用f2()
的按钮
<input type="button" value="return hello world" onclick="f2();" />
是的,此代码刷新islemler.aspx,但通过SatisTedark.aspx生成的canges没有反映在islemlerGridView
上。
例如,
- 假设
islemlerGridView
显示销售id和销售总金额 - 假设我有销售X销售的产品A和产品A要花10块钱
- 我选择在上销售X
islemlerGridView
和islemDetayGorButton
出现然后I单击该按钮,它就会打开SatisTedari.aspx - 在SatisTedari.aspx中,我添加产品B花费5元出售X并保存
最后,我点击了使用f2()
的按钮,它会刷新islemler.aspx,但Sale X的销售总金额单元格仍然是10元,但我需要它是15元,因为我在该销售中添加了一个新产品。
所以我的第一个问题是我应该怎么做才能得到预期的结果(已解决)
问题:其次,有没有办法只刷新islemlerGridView而不刷新整个页面
好的,这对我的第一个问题有效
window.opener.location.href = window.opener.location.href;
所以我的第一个问题现在有了答案。
问题:有没有办法只刷新islemlerGridView
而不刷新整个页面
(我在IE9和Mozilla Firefox 4中尝试了所有这些)
链接我已经检查并发现了一些好东西:
- Javascript-刷新父级窗口
- 关闭弹出窗口后刷新父项窗口
- 正在刷新父窗口
- 从刷新父窗口javascript中的子窗口
- 从子窗口刷新父窗口使用javascript的窗口
function ReloadParent()
{
if (window.parent)
{
window.parent.location.replace(window.parent.location.href);
}
}
此代码将从您的子页面重新加载您的父页面。。。。。
我创建了一个名为GridRefreshPanel
的UpdatePanel,并将网格放入该面板中,并使用这个
function f2() {
window.opener.__doPostBack('GridRefreshPanel.ClientID', '');
//window.opener.__doPostBack('islemlerGridView.ClientID', ''); //this is also working without GridRefreshPanel
}