Agree with Hissohathair in that your approach will not actually redirect. Users may know to click the link, but the original page will still return a normal '200' status code and continue to show up on search results (probably not quite what you want).
In order to maintain page rank, 301 status codes are extremely important. Adding meta refresh tags is also a good option and may help in most cases (as per John's response), but you may not be guaranteed that the search engines will accept it as a 301 redirect in the future. Adding proper redirects to your .htaccess (or Apache conf files) would be your best option in order to guarantee the 301 status code is being sent.
For an IIS7 website, as long as the IIS URL Rewrite module is installed, you can create redirect rules in the web.config for the site. These rules would apply to .html files as well. More info here:
Another alternative if your web host does not have .htaccess/mod_rewrite capabilities might be to change the web host you are using where you can setup server-side redirects. As long as the site is properly moved, it should be fairly seamless to your users. This approach would only be for extreme cases if maintaining page rank is highly critical.