0

ページに次の asp:Hyperlink があります

<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」を取得したかがわからない場合

LINKBUTTON を使用するには、このコードを .CS ファイルに追加してください

    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());
    }

バックエンドまたはフロントエンドからプログラムで Linkbutton を生成できます。この例は、使用しているものであるため、フロントエンドからのものです。

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

これはサーバーの Process プロパティを使用するため、かなりの量のリソースを使用することに注意してください。単純なローカル アプリケーションの場合は問題ありませんが、これを大規模に実装する場合は、サーバーを強化する必要があります。

このソリューションをテストしたところ、ローカル コンピューターとサーバーからファイルが開きます

于 2013-05-08T16:45:23.117 に答える