【发布时间】:2015-05-27 18:34:50
【问题描述】:
我有一个视图,其中包含一个由 jquery 生成的充满数据的表。在该表中,其中一列具有到另一个视图(完全独立的控制器)的链接(标准<a href="">)。经常单击此链接可能会导致加载时间过长,因为正在加载的视图在将结果显示到屏幕之前可能需要处理大量数据。
有没有办法在点击其中一个链接时获得“加载微调器”,直到新屏幕加载?
同样,这是一个 View 中的标准超链接 (href),它链接到一个完全独立的 View、独立的控制器。
【问题讨论】:
-
如果您不使用 ajax 加载其他视图,那么您不能。如果您使用 ajax 加载,那么您只需要在将 html 加载到其中之前,在
div中放置一个微调器。 -
视图是完全独立的页面 - 两个 .aspx 视图。当我点击链接时,我们称它为“Page1.aspx”,我不再真正on Page1.aspx...即使它位于浏览器中。我实际上在 Page2.aspx 上,等待数据。遗憾的是,浏览器不知道这一点。
-
对于我的一些网站,我只关心在下一页加载之前向用户显示“请稍候”消息,我使用 jQuery Block UI 插件。如果单击该链接,我只需调用 blockUI 函数来显示自定义的等待消息。如果您有兴趣,我可以在答案中提出一些内容以显示更多细节。只是一个想法,如果这就是你想要做的。
-
@BKirby 实际上,这听起来很棒。我很想看看。
-
我刚刚注意到(因为我们实际上还没有在网站的任何地方使用它)我有 jquery.blockUI.js!所以,我猜你的方法就像让 href 成为
<a href="#" onClick="block('/myPage/' + variableId + )">Go To New Page</a>?
标签: jquery asp.net-mvc