How do I display a sorting button in views? I need to create functionality so that the user can switch between different sort/filter behaviors in a view.  Hopefully, without loading a different page.

For example, I have a list of projects on my site and I want buttons that the user can click to hide projects that aren't of a specific type.  ie: show only print, show only web, show only video, etc. 

Is there any way to do this asynchronously with views, rather than custom scripting stuff with jquery or linking to totally different pages?
You can set your filters and sorts to be exposed, which means the end user can interact with them choosing how to sort or filter the results,

There is also a setting in the "Advanced" column on the right of the views admin page called "Use AJAX". Set that to "Yes" and you will no longer have to have page loads when the user changes filters and sorts.

Note: If your view is a block view, you must turn on ajax for exposed filters to work.

Also, in the "Advanced" column if you click the "Settings" link for the "Exposed form style" option. In there you can check the "Autosubmit" checkbox, which will mean the view will be reloaded when the user selects a filter, without them having to click submit. This may or may not be desirable depending on your use case.

One last thing is the "Exposed form in block" setting. If you set that to "Yes" then a block will be available that will contain the filter and sort settings, so you can put them wherever you want, instead of them having to be in the top of the view.

Note: You cannot use exposed form in block with a block view. A potential workaround (I have not actually tried it) is here - https://drupal.stackexchange.com/a/38994/10729