Asp.net mvc 如何在MVC中返回视图并重定向到另一个操作[或返回视图并重新加载当前视图]?
我有两个动作;第一个Asp.net mvc 如何在MVC中返回视图并重定向到另一个操作[或返回视图并重新加载当前视图]?,asp.net-mvc,redirecttoaction,asp.net-mvc-views,Asp.net Mvc,Redirecttoaction,Asp.net Mvc Views,我有两个动作;第一个 public ActionResult ViewRequests() { List<AgentRequests> Reqs = con.AgentRequests .Where(x => x.Status == RequestStatus.Open) .OrderBy(x =>
public ActionResult ViewRequests()
{
List<AgentRequests> Reqs = con.AgentRequests
.Where(x => x.Status == RequestStatus.Open)
.OrderBy(x => x.RequestedOn).ToList();
return View(Reqs);
}
我的第一个操作返回一个具有列表的视图。此列表的每一行都有一个链接“processrequest”,单击该链接将调用第二个操作
我的第二个操作将生成要下载的excel文件输出
我的问题是-当前正在处理单击的行。所以我需要把它从我的视野中移除
如果我手动重新加载页面,它就可以了。但是我怎样才能自动重新加载它呢
我不能使用第二个代码中所示的两个返回语句。我怎样才能做到这一点 你不能。这根本不是互联网的工作方式。互联网最重要的原则之一就是所谓的请求-响应。换句话说,一个请求得到一个响应,而一个响应只跟在一个请求后面。客户机向服务器发出请求,服务器向客户机返回响应。视图(HTML)是一种响应,重定向也是一种响应。因此,您不可能同时返回两者,只能返回其中一个。同样,如果客户端不首先重放请求,就不能返回HTML响应,然后再次返回HTML响应
public ActionResult ProcessRequest(long Id)
{
// Code to export data to excel file
//return RedirectToAction("ViewRequests");
return View(KnoqedUsers);
}