3

假设我有这样的动作:

[HttpPost]
public ActionResult(MyObject obj)
{
  //Do a SQL insert that gets an Id for obj

  //Do some long-running operation in the background - don't wait for it to finish

  //Return a report of the object
  return View(obj);
}

有没有办法在 POST 之后修改 URL,以便?id=1234在最后显示?执行 GET 有一个等效的操作(就像用户共享页面一样),我只想显示报告。

4

1 回答 1

2

您应该使用 aRedirectResult并将用户重定向到新的 URL。

如果你这样做,你不能将任何东西传递给视图。

一种常见的做法是将其存储在TempData变量中:

[HttpPost]
public ActionResult(MyObject obj)
{
  //Do a SQL insert that gets an Id for obj

  //Do some long-running operation in the background - don't wait for it to finish
  TempData["obj"] 0 obj;
  //Return a report of the object
  return new RedirectResult();
}

您不能以编程方式从服务器更改 URL。如果您不想使用重定向,可以在页面加载后使用 JavaScript 更改它

于 2013-05-08T21:21:44.047 回答