Turns out it doesn't work on plain scripts, only bundles, so I might make a bundle for the async file upload stuff, like I did with Modernizr and Knockout.

Basically, the Scripts.Render method appends "?v=[hash]" to the URL, where [hash] is a hash of the bundle contents. This means that when the script changes, the URL changes and the browser doesn't use cache.