2012-05-03 9 views
0

私の問題は簡単です。私のgridviewの最後の列を自分のコンピュータ上のローカルのファイルへのダウンロードリンクにしたいと思います。ビジュアルスタジオのgridviewでハイパーリンクを追加する2010

私は3列を持つ私のDataTableがあります。

User_id, request_id, FilePath 

ファイルパスは自分のコンピュータ上のファイルへのパス(文字列)で、私がしようとしていたものです:Webページ上の私のGridViewの表示で 2番目の列(User_idとrequest_id)。 3番目の列でハイパーリンクフィールドを追加し、そのプロパティをDataNavigateUrlFieldというプロパティでFilePath列の内容にリンクしようとしました。

私はクリックすることもできず、マウスオーバーで色を変えるだけのデッドリンクで終わった。

いずれについても手掛かりがありますか?おかげでたくさんの

+0

が生成されますHTMLが生成され、[example](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.hyperlinkcolumn.datanavigateurlfield.aspx)を見たことがありますか? – CodeCaster

+0

実際には、視覚スタジオによって生成されたグリッドビュー(htmlとc#)に関するすべてのコードは、視覚スタジオの動作を知っている人が私を助けてくれることを望んでいました。私はasp.netフォーラムとmsdnチュートリアルdatanavigateurl何もトリックを作ったことはありません。だから私は今stackoverflow – WizLiz

+0

あなたのブラウザで "ソースの表示"をクリックし、[example](http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.hyperlinkcolumnを見てください。 datanavigateurlfield.aspx)。また、Visual StudioからC#コードにアクセスできます。 – CodeCaster

答えて

1

を取得する方法をこれを読んしよう:

<asp:GridView AutoGenerateColumns="false"> 
    <Columns> 
     <asp:TemplateField> 
      <ItemTemplate> 
       <a href='<%# DataBinder.Eval(Container.DataItem, "FilePath") %>'> 
        <%# DataBinder.Eval(Container.DataItem, "FilePath")%> 
       </a> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

は、希望する出力を作成します。

<tr> 
    <td> 
     <a href='c:/directory/file.xxx'>c:/directory/file.xxx</a> 
    </td> 
</tr> 

HyperLinkFieldは、DataNavigateUrlFieldsプロパティのファイルパスを受け入れていないようです。


私はDataNavigateUrlFormatStringプロパティを設定することによって、それの裏をかくしようとした:

<asp:HyperLinkField DataNavigateUrlFormatString="file:///{0}" DataNavigateUrlFields="FilePath" DataTextField="FilePath" /> 

が、問題が残っているだけで何を、どのようなコードを使用すると、グリッドを生成するために使用します

<tr> 
    <td> 
     <a>c:/directory/file.xxx</a> 
    </td> 
</tr> 
+0

同じ結論に来る、HyperLinkField doestはFilePathを受け入れないので、私は私のサーバーにそれらを保存し、あなたの答えのおかげで、問題の解決 – WizLiz

+0

いつでも喜んで助けてください。 – Filburt

0

この

WebClient.DownloadFile(Uri,String) 

を使用し、可能な解決策は、あなたのハイパーリンク列にTemplateFieldを使用することができ必要なイベントにhyperlink

関連する問題