The heart of your question has to do with getting those SEO friendly URLs. That is accomplished using URL Rewriting, or some variant.
With Microsoft products, you can solve this at the IIS level, or at the ASP.NET level.
For the IIS level, there is already a Q&A that answers far better than I can here: mod_rewrite equivalent for IIS 7.0
For the ASP.NET level, check out ASP.NET Routing. You might be interested in learning more about, and doing tutorials for, ASP.NET MVC. (Clean URLs are very inherent to its architecture.)
I do also want to clarify something. That site (greatschools.org) is probably not driven by Microsoft products:
- There aren't any of the telltale signs in the source code for ASP.NET, such as viewstate or inclusion of any Microsoft JavaScript libraries.
- The server responds that it is Apache/1.3.41 (Unix) mod_perl/1.31 mod_ssl/2.8.31, OpenSSL/0.9.8e mod_jk/1.2.28
Those could certainly be twisted by a developer to mislead people as to the identity of the server, but that seems unlikely to me.