0

我有下一个 asp:我的页面中的超链接

<asp:Hyperlink runat="server"
               CssClass="blueII_left"
               Target="_blank"
               NavigateUrl='<%#Eval("RutaCompleta")%>'
               Text='<%#Eval("Archivo")%>'
               >
</asp:HyperLink>

问题是,当“RutaCompleta”被评估时,它会带来类似的东西:

localhost:62997/SomeRoute/\\Complete File Path.

而不是仅仅带来

\\Complete File Path

有任何想法吗???

提前致谢

4

1 回答 1

1

我想我知道您要做什么,我有一个显示存档列表的应用程序,列表中的每个项目都是指向 pdf 文件的直接链接

这就是我设置链接的方式

 <asp:HyperLink ID="HyperLink2" runat="server"
    NavigateUrl='<%# string.Format("~/Invoices/{0}.pdf",Eval("Number")) %>' 
    Text='<%# Eval("Number") %>' Target="_blank"></asp:HyperLink>

这是渲染的内容:

<a id="gvInvoices_ctl00_ctl06_HyperLink2" target="_blank" href="Invoices/8096.pdf">8096</a>

如果这无助于向我展示渲染的内容以及从何处获得“RutaCompleta”

将此代码添加到 .CS 文件以使用 LINKBUTTON

    using System.Diagnostics; //add this as well

    public void openFile(string _uri)  
    {
        Process.Start(@_uri.ToString()); //use the @ to use the string as is.
    }

    protected void LinkButton1_Command(object sender, CommandEventArgs e)
    {
        openFile(e.CommandArgument.ToString());
    }

您可以从后端或前端以编程方式生成链接按钮。此示例来自前端,因为您正在使用它:

<asp:LinkButton ID="LinkButton1" runat="server" 
        CommandArgument="\\server\data\file.xls" OnCommand="LinkButton1_Command">LinkButton</asp:LinkButton>

请记住,由于这使用了服务器的 Process 属性,它将使用大量的资源,对于一个简单的本地应用程序来说它会很好,但如果你想在更大的范围内实现它,你将必须加强你的服务器。

我测试了这个解决方案,它从我的本地计算机和服务器打开文件

于 2013-05-08T16:45:23.117 回答