是否可以在ASP.NET中的任何服务器端事务之前加载页面的一部分?

时间:2015-03-05 01:17:38

标签: asp.net ajax progress-bar client-side server-side

我有登录页面,该页面被重定向到重“信息中心”页面,我想显示 只是“信息中心”HTML页面的一部分 (用于显示菜单和MasterPage中的其他主要HTML) *,然后从服务器* 加载页面的其余部分。多数民众赞成因为我想在“仪表板”页面顶部显示用户“进度条”。

我的问题是“是否可以在任何服务器端事务之前加载部分页面?”我怎样才能做到这一点? 我甚至无法接近解决方案,因为我不知道如何搜索以及我应该搜索什么?

或者,如果您想到任何其他解决方案,我将很高兴知道这一点。

任何人都可以给我任何想法吗? 谢谢

2 个答案:

答案 0 :(得分:0)

我知道的唯一方法是使用1个请求加载页面的“可见部分”,然后使用另一个(AJAX)请求加载页面的剩余部分。工作流程如下:

  1. 页面会像平常一样加载。只有包含您希望在加载期间可见的部分的标记应该在此页面中。它还应该包含JavaScript以创建一个AJAX请求,返回到在页面加载时执行的服务器。这个JavaScript通常会显示“加载”提示(通常带有动画GIF)。它有助于通过JavaScript框架(如JQuery或AngularJS)来促进AJAX。
  2. 在ASP.NET中,您可以通过在页面上创建静态方法或通过创建HTTP处理程序来响应AJAX请求。您可以使用WebApi简化过程。此方法负责返回页面的其余部分。这可能是由服务器端执行的用户控件生成HTML字符串,手动生成的标记,或者您只能将模型作为JSON返回,然后使用JavaScript在客户端生成HTML。
  3. 在第二次从服务器返回时,执行AJAX回调函数并将必要的HTML添加到DOM,然后隐藏“加载”提示。
  4. 有许多活动部件需要一些工作(和一些搜索)才能组合在一起,但它是可行的。

答案 1 :(得分:0)

简短的回答是否定的。页面由服务器处理,然后将完整结果发送到客户端。在服务器完成之前,客户端什么也得不到。你想做的比这个基本模型允许的更先进。

现在可以选择做你想做的事。它需要比大多数人使用的基本,旧学校,网页设计更先进的技术。从AJAX开始,了解它将向您展示新的工作方式。

之后,看看jQuery。这将简化AJAX。在执行此操作之前,您需要了解AJAX基础知识。

从那里你应该可以把其余部分拼凑出来。

一个好的学习网站是http://www.w3schools.com(它包含AJAX和jQuery的部分)