OpenFileDialog won't work on the web. The only way to upload files on the web (at least in ASP.NET) is using the FileUpload control, which isn't very flexible. It just brings up the browser's select file dialog, and you can't tell it what path to start in or anything.
So you need to use this with a button, and when the user clicks a button, you need to save the file, at least temporarily. Then, you need to use a System.IO.FileStream to get a byte array of the file. Then, insert that into a database.
Then you can create your gridview, with one column containing links. And on the page it links to, maybe use a querystring to pass the pk value, then select the file out of the DB and use the Response.WriteFile method to present it.
Now, if you really want to have some "fun" with the uploading, you could use a silverlight frontend. But you'd have to write a WCF or ASMX webservice to do the dirty work.
Hope that helps.