问题代码NavigateUrl="<%=dt.Rows[i][4].ToString()%>"
dt(将数据库数据读取到DataTable dt类中)
dt.Rows[i][4].ToString()为服务器中word的相对地址(例:~/dot/little.dot)
<form id="showForm" runat="server">
<ul id="Demo123" class="class" runat="server">
<%for(int i=0;i<dt.Rows.Count;i++)
{
%>
<li><%=dt.Rows[i][0].ToString()%></li>
<li><%=dt.Rows[i][1].ToString()%></li>
<li><%=dt.Rows[i][3].ToString()%></li>
<li><asp:HyperLink ID="hyWordDownload" runat="server" NavigateUrl="<%=dt.Rows[i][4].ToString()%>">word文件</asp:HyperLink></li>
<li><asp:FileUpload ID="FileUpload1" runat="server" />
<asp:Button ID="btnUpload" runat="server" onclick="btnUpload_Click" Text="文件上传" />
</li>
<%
}
%>
</ul>
</form>

使用ASP.NET识别不出word文件的服务器相对地址
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- 斯洛文尼亚旅游 2017-04-03 12:52关注
用客户端控件,但是你服务器端不要存储~这个数据,这个是服务器端控件用的,楼主多学下网站路径,用内嵌服务器端标记<%%>标记就不要使用服务端控件了
<li><a href="<%=dt.Rows[i][0].ToString().TrimStart('~')%>">word文件</a></li> <li><asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="文件上传" /> </li>
DEMO
<%@ Page Language="C#" AutoEventWireup="true" %> <script runat="server"> protected System.Data.DataTable dt; protected void Page_Load(object sender, EventArgs e) { dt = new System.Data.DataTable(); dt.Columns.Add("file"); dt.Rows.Add("~/dot/little.dot"); dt.Rows.Add("~/dot/little1.dot"); a1.NavigateUrl = "~/dot/little1.dot";//~这种路径是服务器端用的,编译器会自动解析为当前目录相对于应用程序更目录的路径 } </script><form id="showForm" runat="server"><asp:HyperLink runat="server" id="a1">word文件</asp:HyperLink> <ul id="Demo123" class="class" runat="server"> <%for(int i=0;i<dt.Rows.Count;i++) { %> <li>aa</li> <li>bb</li> <li>cc</li> <li><a href="<%=dt.Rows[i][0].ToString().TrimStart('~')%>">word文件</a></li> <li><asp:FileUpload ID="FileUpload1" runat="server" /> <asp:Button ID="btnUpload" runat="server" Text="文件上传" /> </li> <% } %> </ul> </form>
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报