【问题标题】:How to return a view as well as redirect to another action in MVC [or Return a view and reload the current view]?如何返回视图以及重定向到 MVC 中的另一个操作 [或返回视图并重新加载当前视图]?
【发布时间】:2016-12-29 01:48:46
【问题描述】:

我有两个动作;第一个

 public ActionResult ViewRequests()
    {
        List<AgentRequests> Reqs = con.AgentRequests
                                      .Where(x => x.Status == RequestStatus.Open)
                                      .OrderBy(x => x.RequestedOn).ToList();

        return View(Reqs);
    }

第二个:

 public ActionResult ProcessRequest(long Id)
    {

      // Code to export data to excel file

        //return RedirectToAction("ViewRequests");
        return View(KnoqedUsers);
    }

我的第一个操作返回一个包含列表的视图。此列表的每一行都有一个链接 - “处理请求”,单击该链接会调用第二个操作。

我的第二个操作将生成一个 excel 文件输出以供下载。

我的问题是 - 当前正在处理单击的行。所以我需要将它从我的视图中删除。

如果我手动重新加载页面就可以了。但是如何自动重新加载呢?

我不能使用 2 个返回语句,如我的第二个代码所示。我怎样才能做到这一点?

【问题讨论】:

    标签: asp.net-mvc redirecttoaction asp.net-mvc-views


    【解决方案1】:

    你不能。这根本不是互联网的运作方式。互联网最重要的原则之一是所谓的请求-响应。换句话说,一个请求得到一个响应,而一个响应只跟随一个请求。客户端向服务器发出请求,服务器向客户端返回响应。视图 (HTML) 是响应,而重定向也是响应。因此,您不可能返回 both,只能返回其中一个。同样,您不能返回 HTML 响应,然后再次返回 HTML 响应,除非 客户端 首先重放请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-04
      • 2016-07-25
      • 2011-07-16
      • 1970-01-01
      • 2017-01-16
      相关资源
      最近更新 更多