ASP.Net MVC - 从一个控制器发布到另一个控制器(行动到行动)

And*_*nda 12 asp.net-mvc post

是否可以做一个职位从行动"保存"在控制器"产品"到行动"白水"在控制器"类别"?

并且还传递FormCollection作为参数

Ami*_*abh 8

您可以在视图中声明这样的表单,并指定您希望的控制器或操作.

Html.BeginForm("SaveAll", "Category", FormMethod.Post);
Run Code Online (Sandbox Code Playgroud)

如果您在控制器中,那么您可以使用.

TempData["Model"] = Model;
RedirectToAction("SaveAll", "Category");
Run Code Online (Sandbox Code Playgroud)


Rob*_*vey 5

我要么直接从Product controller Save方法更新存储库中的类别,要么在自己的方法中重构Save Categories功能,并从两个控制器方法中调用它.


Nei*_* T. 5

public class Product : Controller
{
    ...
    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Save(FormCollection productValues)
    {
        ...
        RedirectToAction("SaveAll", "Category", new { formValues = productValues });
    }
    ...
}

public class Category : Controller
{
    ...
    public ActionResult SaveAll(FormCollection formValues)
    {
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

假设您在产品的上下文中执行POST.