Q:

ASP.NET Display File from FileUpload Control

I have an HTML page (OK, ASP.NET) with a FileUpload control.
<asp:GridView ID="DocGrid" ShowFooter="True" AutoGenerateColumns="False" runat="server" DataKeyNames="doc_id,req_id,doc_name,doc_path" BorderStyle="Solid" BorderWidth="1px" BorderColor="Silver" Width="500px" BackColor="White">
  <Columns>
    <asp:TemplateField HeaderStyle-HorizontalAlign="Left" HeaderText="Document">
      <ItemTemplate>
        <asp:HyperLink ID="HyperLink1" Text='<%# Bind("doc_name") %>' NavigateUrl='<%# Bind("doc_path") %>' Target="_blank" runat="server"></asp:HyperLink>
      </ItemTemplate>
      <FooterTemplate>
        <asp:FileUpload ID="fuFooter" runat="server" Width="350px" />
      </FooterTemplate>
    </asp:TemplateField>
  </Columns>
</asp:GridView>

That isn't all of the HTML, but it should be everything needed to understand the question.
In VB code behind, the uploaded files are correctly saved using this bit of code:
Dim fuFooter As FileUpload = CType(DocGrid.FooterRow.FindControl("fuFooter"), FileUpload)
If (fuFooter.HasFile) Then
  Dim uploadDir As String = Server.MapPath(VIRTUAL_REC_DOCS)
  If Not String.IsNullOrEmpty(uploadDir) Then
    Dim item As New ReqDoc()
    item.doc_name = fuFooter.FileName
    item.doc_path = uploadDir & fuFooter.FileName
    fuFooter.SaveAs(item.doc_path)
    item.req_id = Request.QueryString("Req_id")
    DocReqManager.insertReqDoc(item)
    bindDocGridgrid()
  End If
Else
  lblMessage.Text = "No file attached."
End If

The files do, in fact, upload to my VIRTUAL_REC_DOCS folder and saves to the database.
After data binding, the items display in the form's HyperLink control.

For whatever reason, clicking the HyperLink does NOT open the item.
Is there a problem with the way the NavigateUrl is displaying the path or is something else going on?

A:

You're using a physical path but you need to use the file Url. NavigateUrl should be something like 
NavigateUrl='<%# YourPageClassName.VIRTUAL_REC_DOCS + Bind("doc_name") %>'

Where YourPageClassName is the name of your page class.

