2011-04-04 71 views
0

我正在研究一个ASP.net Web应用程序。该应用程序在顶部有一个链接按钮菜单,每个页面上显示完全相同。避免每次用户点击链接时都要重新加载网页菜单?

我的客户代表向我指出,每次单击链接时菜单“闪烁”,因为屏幕变空白并加载下一页。

现在,我使用的是母版页,以使菜单的每个页面上都相同。我意识到框架是完成这个任务的另一种方法。如果我要将菜单放在框架中,则每次用户单击链接时都不会重新加载。

也有可能,但不是真的可行,与客户端脚本来做到这一点。

您是否有任何一位伙伴知道一个好方法(不是框架)在网页应用程序的每个页面上都有一个菜单,每次页面加载时都不会“闪烁”?

+0

客户端脚本 – Linkgoron 2011-04-04 21:02:05

回答

0

ASP.NET的方式是将整个网站正文放在UpdatePanel中,并使用回发控件进行所有导航。

一般来说,真正做到这一点(除了框架,这是一个可怕的想法)的唯一方法是使用AJAX加载每个页面的主体。 UpdatePanels这样做。

您的客户必须使用IE8。 Chrome浏览器和Firefox做得很好,不会让导航停留在屏幕上的元素保持不变。

告诉他们去Amazon.com和点击几个环节。同样的事情(无论如何,IE)。

+0

由于UpdatePanels和回发不是一个可怕的想法? – Linkgoron 2011-04-04 21:07:55

+0

这取决于你可怕的定义。当然,'UpdatePanels'是完成ajax查询的荒谬低效方法,但是在他们一天结束时,它们会呈现相同的结果。我不打算站在这里说UpdatePanels是做Ajax的最好方法,但是对于现有的asp.net站点来说,这很容易做到。将其改为完全不同的架构基本上将重新开始。帧是一种不同的可怕的。 – 2011-04-04 21:11:16

+0

对不起,我有点冒犯了。我想说的是,UpdatePanels创建可怕的Ajax,做这样的事情可能是我最后一个选择EVER(包括用jquery做什么,这不应该太难)...我只是觉得你没有说有多糟糕的UpdatePanel是用于性能的。事实上,它可能是最快实施... – Linkgoron 2011-04-04 21:15:32

1

“我的客户代表向我指出,每次单击链接时菜单”闪烁“,因为屏幕变空白并且下一页被加载。”

你需要找到一个新的客户代表,了解如何在互联网的基本工作原理。

除非,你可以使用框架(你不想使用,因为这是很糟糕)。

或者你可以有一个页面加载菜单,然后页面上的所有内容将通过AJAX调用加载。但你也不想使用它,因为这很愚蠢。

所以,是的,获得一个新的客户代表。 ;)

+0

我认为他的确了解互联网的工作原理。我只是想知道是否可能有一些新的技巧来做到这一点,我还没有听说过。 – 2011-04-04 21:41:05

+0

如果他们知道网络如何工作,那么也许你需要弄清楚他们描述的是什么。否则,他们要求的声音听起来像是网络的基本前提...点击链接,加载新页面,清除旧页面。这就是它的工作原理。一些浏览器在页面之间的视觉转换上更好,但现在已经有很长一段时间了。 – 2011-04-04 21:45:24

+0

@DA,有几个网页的实例没有重新加载菜单,只是内容被重新加载。另外,如果客户不支持以了解网络的工作方式,那么开发人员应该理解它。 – 2012-01-09 20:26:17

相关问题