我是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)
{
}
如果没有,有没有办法让参数可选?
谢谢!
答案 0 :(得分:0)
您不能重载控制器操作,但是,您可以在定义路由时将参数指定为可选参数,如下所示:
routes.MapRoute(
name: "OptionalParameter",
url: "myController/actionName/{parameter1}/{parameter2}",
defaults: new { controller = "myController", action = "actionName", parameter1 = "Default Value", parameter2 = UrlParameter.Optional }
);