0

我有一个 ASP.NET 页面,菜单来自 masterpage 中的 menu.ascx。

菜单包括以下项目:

  • 请求(5)

  • 信息

在 menu.ascx.cs 中,我计算了 5。它来自一个 SQL 查询,例如

Select Count(*) From Request Where Id = 1; //returns 5

例如; 在其他页面中,我编辑任何记录,查询结果将是 6。但不刷新页面它不会改变,仍然看起来是 5。

除了 Ajax 解决方案之外,还有什么方法可以在不刷新页面的情况下做到这一点?当我编辑任何记录时,我可以刷新所有页面吗?

4

4 回答 4

2

将要刷新的 HTML 包装在 中UpdatePanel,这将允许部分页面更新。它是一个基于 AJAX 的解决方案,但是如果不使用 AJAX,就无法使用来自服务器的信息执行部分页面更新

于 2012-08-22T13:13:57.430 回答
2

如果不使用以下任一选项,则无法在浏览器中更新该内容:

  • 整页刷新(回发)
  • ajax(通过提供的服务器控件,如 UpdatePanel 或通过普通的自写 javascript ajax 调用,ps:想想 jQuery 来平滑这个过程)

一种较新的方法是使用Websockets,您可以在其中将数据从服务器推送到客户端。Microsoft 在SignalR中创建了一个很酷的库,其中包含各种回退方案。

于 2012-08-22T13:14:46.760 回答
1

您还可以查看 JavaScript 中可用的XmlHttpRequest对象。您可以通过常用方法将脚本嵌入到您的网页中。

一个例子可以在这里找到

于 2012-08-22T13:16:40.693 回答
1

我想说 AJAX 是一个众所周知的更新部分页面的选项。

于 2012-08-22T14:04:18.810 回答