When the form posted, it was going to the "GET" method instead of the "POST" method. After a bunch of debugging I finally figured out that the reason why is that I have an URL Rewrite rule on the web server that converts all URLs to lowercase for Search Engine Optimization (SEO) and logging consistency. This can also be done in the Web.Config file.

Because the form URL is in mixed case, it wasn't finding the correct method. All it takes to fix the problem is change the .cshtml form to have the parameters in lower case. Like this: