2013-01-14 94 views
0

我是ASP.NET MVC 4的新手。我创建了一个端点。该端点可在:ASP.NET MVC 4和Web API和过载

/myController的/ actionName

以我控制器,I具有以下定义:

[HttpPost] 公共无效ActionName(字符串参数1) {

}

我想弄清楚它是否可能有重载。在ASP.NET MVC 4的Web API,是有办法,我说类似以下内容:

[HttpPost] 
public void ActionName(string parameter1) 
{ 

} 

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

} 

如果没有,有没有一种方法,使参数可选?

谢谢!

回答

0

你不能重载控制器动作,但是,你可以指定一个参数定义你的路由时按照如下方式可选:

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