gpt4 book ai didi

c# - 用于选项卡或 Javascript 的 Ajax 控件? (带有选项卡式内容的 aspx 页面)

转载 作者:行者123 更新时间:2023-11-28 16:15:08 24 4
gpt4 key购买 nike

我有一个 ASP.NET 网站(C# 作为代码隐藏),其中我的页面之一包含选项卡式内容。我已经用两种不同的方式做到了这一点,现在我正在决定采用哪一种方式。一种方法是,我用 javascript 完成了它。只需根据单击的 div 进行交换,效果就很好(除了一些小的闪烁问题......)。另一方面,我使用了 Ajax Control Toolkit和选项卡控件。我正在寻找 Ajax 的优点,但也看到了使用 Ajax 选项卡式界面的缺点...

  • 搜索引擎看不到第一个选项卡中未包含的数据,因为它们无法访问 Ajax。
  • 无法为选项卡添加书签。因此客户无法保存他们想要的信息。
  • Ajax 无法访问,因此使用屏幕阅读器的任何人都看不到其他选项卡中的内容,甚至对于没有良好 JavaScript 支持的旧版浏览器也是看不到的。
  • 如果其中一个选项卡包含大量信息,则在连接速度较慢的情况下可能需要很长时间才能加载。而且由于 Ajax 没有指示发生任何事情,因此页面看起来好像已损坏。

这些都正确吗?我不太担心无法通过搜索引擎找到信息,因为无论如何只有该网站的用户才能看到内容。

所以主要问题是,每种实现方法都有哪些优缺点? Ajax 确实看起来更干净,但是性能如何?

最佳答案

回答您的上述观点:

Search engines don't see the data that isn't in the first tab, because they can't access the Ajax.

搜索引擎将在页面上找到的内容编入索引。如果数据不存在,他们将不会加载它。但是,如果用于检索 AJAX 结果的 URL 通过正常的 <a> 作为单独的页面链接到。标签,可以对此进行索引。

The tabs cannot be bookmarked. So customers can't save the information they want.

即使您使用非 AJAX 解决方案,也是如此。要为选项卡添加书签,您必须有效地为处于特定“状态”的页面添加书签。使用hash fragments是实现这一目标的好方法。

Ajax is not accessible, so the content in the other tabs would not be visible to anyone using a screen reader, or even older browsers that don't have good JavaScript support.

与通过脚本加载的任何内容一样,如果用户禁用了脚本,他们将无法获取内容。至于浏览器支持,jQuery 和许多其他库抽象了浏览器差异,以支持您合理希望支持的任何内容。

If one of the tabs had a lot of information, it could take a long time to load on a slow connection. And because Ajax doesn't indicate anything is happening it looks like the page is broken.

不正确。加载的数据越多,完成 HTTP 请求所需的时间就越长,是的。但“AJAX 并不表明任何事情正在发生”是不正确的——它甚至没有意义。 AJAX 是一种传输机制。向用户显示“正在发生某些事情”的责任取决于您,并且可以通过 spinning placeholders 轻松实现。或类似的。

基本上,AJAX 通过仅请求初始 UI 状态所需的数据,将初始页面加载时间降至最低。与任何 HTTP 请求(包括页面加载)一样,后续请求将需要时间,但在我看来,用户体验的提升是非常优越的。

关于c# - 用于选项卡或 Javascript 的 Ajax 控件? (带有选项卡式内容的 aspx 页面),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11743202/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com