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?
NavigateUrl='<%# Bind(Server.MapPath("doc_path")) %>'does not work.