ASP.NET MVC - 1 ActionResult上的重复ActionName属性

Cal*_*ass 3 asp.net-mvc

可能重复:
ASP.NET MVC - 我可以为同一个操作设置多个名称吗?

我想知道是否可能有两个动作指向控制器中的同一个ActionResult,如下所示:

[HttpPost]
[ActionName("ManualSearch")]
[ActionName("AddProduct")]
public virtual ActionResult MyPostAction(MyModel model) 
{

// do code...

}
Run Code Online (Sandbox Code Playgroud)

这样做的原因是因为我有2个视图,每个视图都以不同的方式处理动作,但它们都包含一个表单,基本上是做同样的事情,所以我想知道只是让这两个表单POST到同一个动作,就像我一样在上面尝试过,显然它不可能复制ActionName属性.

Ste*_*net 8

为什么不创建两个不同的动作和两个调用的私有方法?

public ActionResult Action1(MyModel model)
{
     return PrivateAction(model);
}

public ActionResult Action2(MyModel model)
{
     return PrivateAction(model);
}

private ActionResult PrivateAction(MyModel model)
{
      .... do stuff....
}
Run Code Online (Sandbox Code Playgroud)

我认为最简单的事情是最可靠的;)