来自FileUpload控件的ASP.NET显示文件
我有一个带有控件的HTML页面(好的,ASP.NET) 事实上,这些文件会上传到我的来自FileUpload控件的ASP.NET显示文件,asp.net,vb.net,Asp.net,Vb.net,我有一个带有控件的HTML页面(好的,ASP.NET) 事实上,这些文件会上传到我的VIRTUAL\u REC\u DOCS文件夹并保存到数据库中 数据绑定后,项目将显示在表单的超链接控件中 无论出于何种原因,单击超链接都不会打开该项目 NavigateUrl显示路径的方式是否有问题,或者是否有其他问题?您使用的是物理路径,但需要使用文件UrlNavigateUrl应该是 NavigateUrl='<%# YourPageClassName.VIRTUAL_REC_DOCS + Bind
VIRTUAL\u REC\u DOCS
文件夹并保存到数据库中
数据绑定后,项目将显示在表单的超链接控件中
无论出于何种原因,单击超链接都不会打开该项目
NavigateUrl显示路径的方式是否有问题,或者是否有其他问题?您使用的是物理路径,但需要使用文件Url
NavigateUrl
应该是
NavigateUrl='<%# YourPageClassName.VIRTUAL_REC_DOCS + Bind("doc_name") %>'
NavigateUrl=''
其中,
YourPageClassName
是页面类的名称。您需要上传文件夹的相对路径,而不是C驱动器的绝对路径。有简单的解决方案吗NavigateUrl=''
不起作用。请参见Claudio Redi的回答:)该页面不喜欢代码隐藏中定义的我的虚拟记录文档。如何在HTML中定义它?@jp2code只需将item.doc\u path
更改为VIRTUAL\u REC\u DOCS+item.doc\u name
@jp2code:VIRTUAL\u REC\u DOCS
定义在哪里?是页面类的一部分吗?它定义在后面代码的顶部:受保护的Const VIRTUAL\u REC\u DOCS As String=“~/ReqTrackerDocs/”
。我的文件上载例程不是已经在执行以下操作:item.doc\u path=uploadDir&fuFooter.FileName
(其中uploadDir是Server.MapPath(VIRTUAL\u REC\u DOCS))?@jp2code:它执行opossite:将url转换为物理路径。顺便说一句,更新了我的答案
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
NavigateUrl='<%# YourPageClassName.VIRTUAL_REC_DOCS + Bind("doc_name") %>'