2017-01-13 84 views
0

在我的應用程序中,我有一個6列的gridview控件。當我點擊第6列的行時,我需要下載該文件。我從數據庫綁定gridview。我怎樣才能把gridview列當作鏈接?點擊Gridview行下載asp.net中的特定文件

我的標記:

<asp:GridView ID="GridView1" Width="950px" CssClass="Grid" runat="server" AutoGenerateColumns="false" > 
    <Columns> 
     <asp:BoundField DataField="ID" HeaderText="" ItemStyle-ForeColor="White" /> 
     <asp:BoundField DataField="Name" HeaderText="Name" /> 
     <asp:BoundField DataField="SName" HeaderText="SName" />       
     <asp:BoundField DataField="Date" HeaderText="Date" /> 
     <asp:BoundField DataField="Size" HeaderText="Size(MB)" />  
     <asp:BoundField DataField="Time" HeaderText="Time" />        
     <asp:HyperLinkField DataTextField="FileName" DataNavigateUrlFields="Id" HeaderText="File Name" ItemStyle-Width = "150" /> 
    </Columns>   
</asp:GridView> 

我的形象:

enter image description here

+0

要下載哪個文件?它的Url是否在綁定collecion中可用? –

+0

我的GridView綁定從數據庫,但我怎麼可以採取GridView列可以採取超鏈接提交可以告訴我另一種方式採取Gridview列作爲鏈接​​提交 – Ben805

+0

可能的重複設置一個GridView列以包含鏈接,數據是一個URL列表](http://stackoverflow.com/questions/15362545/setting-a-gridview-column-to-contain-links-where-the-bound-data-is-a-list-of-你好) –

回答

0

通過這個C#代碼爲下載指定名稱的文件中指定的路徑。我希望這將有所幫助。

String pathOfFile = Server.MapPath("~/ActualPathOfYourFile/" + fileNameComingFromDatabse); 
    byte[] bts = System.IO.File.ReadAllBytes(pathOfFile); 
    Response.Clear(); 
    Response.ClearHeaders(); 
    Response.AddHeader("Content-Type", "Application/octet-stream"); 
    Response.AddHeader("Content-Length", bts.Length.ToString()); 
    Response.AddHeader("Content-Disposition", "attachment; filename=" + fileNameComingFromDatabse); 
    Response.BinaryWrite(bts); 
    Response.Flush(); 
    Response.End(); 
+0

當我點擊網格視圖文件名稱列的行如何保持包含特定的行文本到字符串 – Ben805

+0

嗨@ Amit-ghute。我正在使用此GridView選定的行文本'字符串文件名= e.CommandArgument.ToString(); GridViewRow selectedRow = GridView1.Rows [文件名]; string AccGroupName = GridView1.DataKeys [filename] .Values [「Account Group」]。ToString(); string GroupShortName = GridView1.DataKeys [filename] .Values [「Short Name」]。ToString();'我正在收到錯誤,我該如何拿這個 – Ben805

+0

@ ben805,請通過這個[鏈接](http:// www .aspsnippets.com /演示/ 273 /) –