HL.NavigateUrl = Server.MapPath("") + "\\UserImages\\" + fi.Name;
Looks incorrect!
If UserImages is a folder, part of your application (inside your root node) then use (~) for root node and map the folder. Further, you can use this tip to correctly find the root node path and use it:
Resolving Paths in a Multi-Folder WebSite[
^]
All you need is to form the url correctly. Use the VS debugger as and when needed to look the URL formed and rectify it if needed.