如何在MVC中重载控制器方法?

时间:2019-03-04 18:00:58

标签: c# asp.net-mvc overloading

我正在尝试重载以下方法,因为我不想为可选参数传递null。因此,我在线阅读内容,可以让重载彼此调用。我正在关注以下示例:

Is passing null in to a method acceptable

[HttpGet]
    public ActionResult TesMethod (int? testID, int employeeID)
    {
        Excel excel = new Excel();
        excel.CreateExport(null, int employeeID);
        return RedirectToAction("Index", "Employee");
    }

[HttpGet]
    public ActionResult TesMethod (int employeeID)
    {
        Excel excel = new Excel();
        excel.CreateExport(int employeeID);
        return RedirectToAction("Index", "Employee");
    }

我想一种方法采用可选参数int吗? testID和其他不采用可选参数的方法。我该怎么办?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

如果您不想传递空值,则默认为null。按照以下结构,可以根据需要传递employeeIDtestID。您只需要此方法(而不是两个)。

[HttpGet]
public ActionResult TesMethod (int employeeID, int? testID = null)
{
    Excel excel = new Excel();
    excel.CreateExport(testID, employeeID);
    return RedirectToAction("Index", "Employee");
}