【发布时间】:2017-01-16 12:16:21
【问题描述】:
假设我有两个 create action 方法,一个用于 get 方法,一个用于 post 方法:
[HttpGet]
public ActionResult Create()
{
return View();
}
[HttpPost]
public ActionResult Create()
{
return View();
}
如果我只是给Get方法添加一个视图,那么Post动作方法没有视图,那么当我调用Create的post方法时,为什么我仍然得到属于get方法的视图?
【问题讨论】:
-
return View();返回与方法同名的视图,在您的情况下为Create.cshtml -
您不能创建两个具有相同签名的方法。你会得到构建错误。
-
@StephenMuecke 但是如果我想为 post 方法添加一个视图,我实际上不能这样做,因为它已经具有与 get 方法相同的名称视图。那我该怎么办?
-
你总是可以使用
return View("NameOfAnotherView");(但不清楚你为什么要这样做——如果你想返回不同的视图,你应该重定向到另一种方法) -
我认为你应该在
[HttpPost] Create()方法中传递参数。
标签: asp.net .net asp.net-mvc-4