如何通过单击HyperLink打开文件

Rag*_*son 5 c# asp.net web-applications hyperlink visual-studio-2010

我有这张桌子

在此输入图像描述

我想点击链接,文件(无论文件)将在新的弹出窗口中打开.

这是我的代码:

<asp:Repeater ID="dokumente" runat="server">
    <ItemTemplate>
        <tr>
            <td><asp:HyperLink ID="HyperLink4" runat="server" Text='<%# Eval("DokuTyp") %>' NavigateUrl='file://<%# Eval("File") %>'></asp:HyperLink></td>
            <td><%# Eval("Description")%></td>
            <td><%# Eval("Date") %></td>
            <td><%# Eval("File") %></td>
        </tr>
    </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

但它不适用于NavigateUrl.任何人都可以帮助我或任何想法如何做到这一点.谢谢

nun*_*cal 5

file:///适用于您自己计算机上的资源.

要在服务器上打开文件,您必须链接到服务器上的URL.使用:

HttpContext.Current.Request.ResolveUrl(pathOnServer);
Run Code Online (Sandbox Code Playgroud)

像这样更改你的代码:

<asp:Repeater ID="dokumente" runat="server">
    <ItemTemplate>
        <tr>
            <td><asp:HyperLink ID="HyperLink4" runat="server" Text='<%# Eval("DokuTyp") %>' NavigateUrl='<%# HttpContext.Current.Request.ResolveUrl(Eval("File")) %>'></asp:HyperLink></td>
            <td><%# Eval("Description")%></td>
            <td><%# Eval("Date") %></td>
            <td><%# Eval("File") %></td>
        </tr>
    </ItemTemplate>
</asp:Repeater>
Run Code Online (Sandbox Code Playgroud)

哪里服务器