重定向到另一个长加载时间页面之间的MVC中间页面

时间:2016-07-25 17:29:13

标签: c# asp.net-mvc

如何使用MVC C#(不使用JS或JQuery)可以将用户发送到/home/stasis,这将加载加载器图像(已经使用css实现),然后将它们发送到最终的URL(它的加载时间非常长,用户最终会多次点击 - 而不是帮助自己)

问题是JS和JQuery的使用不起作用,因为它也需要作为应用内webview(它不支持JS或JQuery)。所以我转到/home/index点击链接转到我要加载的/home/stasis,然后自动开始加载最终网址,例如google.com。

1 个答案:

答案 0 :(得分:0)

没有javascript,我们必须希望浏览器和服务器能做正确的事情:

  1. 当服务器返回307重定向时,浏览器将显示实体内容。
  2. 当长时间运行的请求处于挂起状态时,服务器不会返回部分实体。换一种说法。长时间运行的请求应该在请求的最后一秒返回其所有实体数据。
  3. 浏览器不会清除屏幕,直到下一个实体的第一个字节到达为止。
  4. 假设浏览器和服务器的行为如此,MVC并没有提供一种简单的方法。你需要:

    1. 创建一个派生自ActionResult的新类。
    2. 在ActionResult的ExecuteResult()方法中,将输出写入ControllerContext.HttpContext.Response。将响应代码设置为307,设置RedirectLocation,并将要显示的任何内容写入OutputStream。