ASP.NET MVC 4和Web API和重载

时间:2013-01-14 13:51:36

标签: asp.net-mvc-4 asp.net-web-api

我是ASP.NET MVC 4的新手。我已经创建了一个端点。该端点位于:

/ myController的/ actionName

在我的控制器中,我定义了以下内容:

[HttpPost] public void ActionName(string parameter1) {

}

我想弄清楚它是否可能有重载。在ASP.NET MVC 4 Web API中,有没有办法让我说出如下内容:

[HttpPost]
public void ActionName(string parameter1)
{

}

[HttpPost]
public void ActionName(string parameter1, string parameter2)
{

}

如果没有,有没有办法让参数可选?

谢谢!

1 个答案:

答案 0 :(得分:0)

您不能重载控制器操作,但是,您可以在定义路由时将参数指定为可选参数,如下所示:

routes.MapRoute(
    name: "OptionalParameter",
    url: "myController/actionName/{parameter1}/{parameter2}",
    defaults: new { controller = "myController", action = "actionName", parameter1 = "Default Value", parameter2 = UrlParameter.Optional }
);