c# - 如何使用 JavaScript 仅刷新父窗口中的 GridView?

标签 c# javascript asp.net gridview

我有两个 aspx 文件,用于在销售中添加/删除产品。

  1. islemler.aspx
  2. SatisTedarik.aspx

我在islemler.aspx中有一个GridView,这个gridView的名称是islemlerGridView,当在islemlerGridView上选择一行时,会出现一个按钮,这个按钮的名称是 >islemDetayGorButton.

当单击 islemDetayGorButton 时,SatisTedarik.aspx 将打开。在 SatisTedarik.aspx 上有许多元素,例如标签、文本框、下拉列表、 GridView ,通过此 SatisTedarik.aspx 窗口,用户可以向销售添加/删除产品(销售显示在 islemlerGridView 中)。

我需要做的是,当通过 SatisTedarik.aspx 更改有关销售的内容时更新 islemlerGridView

我发现了这个问题Passing value from popup window to parent form's TextBox 并尝试使用 JavaScript 进行一些操作,但我不得不说我没有 JavaScript 经验。 我尝试刷新开启器窗口,在我的情况下开启器窗口是 islemler.aspx 我在 SatisTedarik.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,但通过 SatisTedarik.aspx 进行的更改不会反射(reflect)在 islemlerGridView 上。

例如,

  1. 假设 islemlerGridView 显示 销售 ID 和销售总额。
  2. 假设我有 X 促销事件 销售哪个产品 A 以及产品 一个要10 block 钱。
  3. 我选择促销 X islemlerGridView 和 islemDetayGorButton 出现然后我 单击此按钮,它将打开 SatisTedarik.aspx。
  4. 在 SatisTedarik.aspx 中我添加 产品 B 花费 5 block 钱 出售 X 并保存它。

最后,我单击使用 f2() 的按钮,它刷新了 islemler.aspx,但 Sale X 的销售总金额单元格仍然是 10 钱,但是我需要它是 15 钱,因为我在那次促销中添加了新产品。

所以我的第一个问题是我应该做什么才能获得预期的结果?(已解决)

问题: 其次,有什么办法可以只刷新 islemlerGridView 而不是整个页面?

好吧,事实证明这对我的第一个问题有效

window.opener.location.href = window.opener.location.href; 

所以我的第一个问题现在有了答案。

问题: 有什么办法可以只刷新 islemlerGridView 而不是整个页面?

(我在 IE9 和 Mozilla Firefox 4 中尝试了所有这些)

我检查过并发现了一些好东西的链接:

  1. Javascript - Refresh Parent Window?
  2. refresh parent after closing pop up window
  3. Refreshing parent window
  4. Refresh the parent window from the child window in javascript
  5. Refresh parent window from child window using javascript

最佳答案

function ReloadParent()
{
    if (window.parent) 
    { 
          window.parent.location.replace(window.parent.location.href);
    }
}

此代码将从您的子页面重新加载您的父页面......

关于c# - 如何使用 JavaScript 仅刷新父窗口中的 GridView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6149938/

相关文章:

c# - 无法审核插入 Entity Framework 。我陷入困境,你能帮忙吗?

c# - 说服我转向 .net 3.5(从 2.0)

c# - Storyboard找不到 ControlTemplate 元素

c# - C#中的多线程序列化

javascript - 在另一个模板中为模板 &lt;script type="text/template>&lt;/script&gt; 添加下划线

javascript - 为 flatlist 的所有项目创建一个状态数组。 ( react native )

javascript - 在 Javascript 中,为什么从构造函数返回一个函数会破坏对象?

asp.net - 当前模型不再匹配用于预生成映射 View 的模型

c# - 跨域 iframe 中的安全错误

asp.net - 在 Asp.net 应用程序中使用什么 : Callback, AjAX 或简单的 Javascript