0

我是 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)
{

}

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

谢谢!

4

1 回答 1

0

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

routes.MapRoute(
    name: "OptionalParameter",
    url: "myController/actionName/{parameter1}/{parameter2}",
    defaults: new { controller = "myController", action = "actionName", parameter1 = "Default Value", parameter2 = UrlParameter.Optional }
);
于 2013-01-14T14:01:39.850 回答