我在页面上有一个网格视图和一个文件上传按钮。我有用户将他们的数据加载到我的网站,我解析他们的文件并加载到gridview。然后使用ajax我更新javascript / jquery我允许用户在gridview上编辑他们的数据。我的问题是,应该很容易修复,但我很难过。一旦用户准备好提交gridview数据,我就会向web服务发送一个AJAX调用,我会在网格上发送所有信息。然后我想清除网格,基本上再次打开一个干净的页面。但是我似乎无法清除网格视图。数据只是在原始数据的控件中保持刷新。我意识到它与服务器上绑定的事实有关,但我无法解除绑定!我试过了。
window.location.reload()
但所有这一切都让我从firefox那里得到一条糟糕的消息,告诉我该页面将会刷新。
我在这个网站上看到了不同的人
Response.Redirect(Request.RawUrl);
然而我不知道如何从Ajax调用中触发它?我可以吗?我正在通过Ajax做一切,部分是因为我最舒服的地方,但我不想在页面上放置另一个按钮并让用户必须单击该按钮才能重新启动它似乎很傻。我想对我的命令进行整页刷新。无论如何通过AJAX做到这一点?放一个服务器按钮对我来说似乎不可行,因为一旦我在网格视图中加载数据,我使用jquery数据表和jeditable并在客户端上工作。 在这一点上,我愿意接受建议,想法,提示和任何事情。对于应该是一项简单的任务感到沮丧。 提前致谢 米格尔
答案 0 :(得分:3)
要强制完整页面刷新而不回发,您可以将window.location.href
值设置为当前window.location.href
e.g。
想象一下,我们当前的范围是您的网格数据ajax提交功能的成功回调,因此当页面重新加载时,将获取所有新数据。
//reload the page now that data has been updated.
window.location.href = window.location.href;
答案 1 :(得分:1)
如果必须使用服务器控件,则可以将其包装在UpdatePanel
中。这将使它成为ajax,但是非常强力。
像Telerik这样的公司有很好的库,它们具有启用ajax的控件。这些花费了一些面团,但如果你做了很多,这可能是值得的。
另一个不支持服务器模板/数据绑定的选项是使用基于jQuery的网格,如jqQrid
。