The MVC framework is creating your controller, if your controller needs a parameter on its constructor then it needs to be created like this;
EmployeeController c = new EmployeeController(someEmployeeObject);
as MVC is creating your controller, what does it pass as someEmployeeObject? When creating controllers MVC assumes you have what is known as a parameterless constructor which means it can create it like this;
EmployeeController c = new EmployeeController();
MVC can create this fine as it doesn't need to know anything. For that to work your EmployeeController needs a parameterless constructor
public EmployeeController()
{
}
You don't normally have to add this code to a class, it is implied, but as you have given a constructor yourself you no longer get this implied parameterless one, you need to add that yourself.
That will fix the error but not your problem. Your code still expects an employee object so where does that come from? We don't know your system so can't answer that. You might need to create it yourself in the parameterless constructor.
Another possibility is that you're trying to use an IoC container but haven't registered it. To have a controller with no parameterless constructor you need to register your IoC using
DependencyResolver.SetResolver(yourIoCContainer)[
^]
and you need to register IEmployee with that container so that the MVC framework knows how to resolve IEmployee to a concrete object that it can pass to your controller.