1

我在页面上有一个网格视图和一个文件上传按钮。我让用户将他们的数据加载到我的站点,然后我解析他们的文件并加载到 gridview 上。然后使用 ajax 我更新了 javascript/jquery 我允许用户在 gridview 上编辑他们的数据。我的问题是一些应该很容易解决但我很难过的问题。一旦用户准备好提交 gridview 数据,我就有一个对 web 服务的 AJAX 调用,我发送网格上的所有信息。然后我想清除网格并基本上再次从一个干净的页面开始。但是我似乎无法清除网格视图。数据只是用原始数据在控件中不断刷新。我意识到这与绑定在服务器上但我无法解除绑定的事实有关!我试过了。

window.location.reload()

但所有这一切都让我收到来自 Firefox 的蹩脚消息,告诉我页面将刷新。

我在这个网站上从不同的人那里看到了这个

Response.Redirect(Request.RawUrl);

但是我不知道如何从 Ajax 调用中触发它?我可以吗?我通过 Ajax 做所有事情,部分原因是因为这是我最舒服的地方,但我不想不得不在页面上放置另一个按钮并让用户必须单击该按钮才能重新启动它似乎很愚蠢。我想对我的命令进行整页刷新。反正有没有通过 AJAX 做到这一点?放置服务器按钮对我来说似乎不可行,因为一旦我在网格视图中加载数据,我就会使用 jquery 数据表和 jeditable 并且几乎可以在客户端上工作。在这一点上,我愿意接受建议、想法、技巧和任何事情。对应该是一项简单的任务感到沮丧。在此先感谢米格尔

4

2 回答 2

3

要在不回发的情况下强制刷新整个页面,您可以将window.location.href值设置为当前window.location.href

例如

想象一下,我们当前的作用域是您的网格数据 ajax 提交函数的成功回调,所以当页面重新加载时,所有新数据都会被获取。

//reload the page now that data has been updated.
window.location.href = window.location.href;
于 2013-07-13T15:11:33.633 回答
1

如果必须使用服务器控件,可以将其包装在UpdatePanel. 这将使其启用 ajax,但非常暴力。

Telerik 等公司提供了一些不错的库,它们具有启用 ajax 的控件。这些要花一些钱,但如果你做了很多,这可能是值得的。

不支持服务器模板/数据绑定的另一个选项是使用基于 jQuery 的网格,例如jqQrid.

于 2013-07-13T15:11:03.140 回答