Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# asp.net mvc重定向到操作(“索引”)与索引()_C#_Asp.net_Asp.net Mvc - Fatal编程技术网

C# asp.net mvc重定向到操作(“索引”)与索引()

C# asp.net mvc重定向到操作(“索引”)与索引(),c#,asp.net,asp.net-mvc,C#,Asp.net,Asp.net Mvc,假设我有一个带有索引方法和更新方法的控制器。更新完成后,我想重定向到Index()。我应该使用return RedirectToAction(“Index”)还是只调用return Index()?有区别吗 public ActionResult Index() { return View("Index", viewdata); } public ActionResult Update() { // do updates return RedirectToAction("Index

假设我有一个带有索引方法和更新方法的控制器。更新完成后,我想重定向到Index()。我应该使用return RedirectToAction(“Index”)还是只调用return Index()?有区别吗

public ActionResult Index()
{
  return View("Index", viewdata);
}

public ActionResult Update()
{
  // do updates
  return RedirectToAction("Index"); or
  return Index();
}

使用重定向,否则客户端上的URL将保持与发布的URL相同,而不是与索引操作对应的URL。

需要考虑的其他事项:

  • 当用户单击“刷新”按钮时,POST后的重定向操作将更有效,因为不会提示他们将数据重新发送到服务器

  • 表单数据将随着重定向操作而丢失,除非您通过TempData明确地维护它们。如果不这样做,表单控件在发布后将不会有任何值,这在某些情况下可能是不可取的


+1出于重新发送数据的考虑,这是一个为我做出的决定。我注意到的另一件事是,当我从另一个操作返回Index()时,尽管我希望系统获得
Index.cshtml
视图,它实际上试图获取原始操作的名称视图,因为它不存在,所以我得到了一个错误。