This error popped up all of a sudden when we tried to create a new page. It was only happening with 1 specific page layout. All the existing pages still worked, so it was only when the page was being created.
I tried a few things to fix this problem, including renaming the namespace, and the class name. I already had an empty constructor in the code.
I decided to delete the page layout from the gallery then redeploy our solution which places the page layout in the gallery. That did the trick. I guess the page layout was corrupted.