2013-10-27 150 views
0

以前我可以下载GridView1_RowCommand从GridView和代码文件下载链接

代码

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
    { 
     if (e.CommandName == "cmd") 
     { 
      string filename = e.CommandArgument.ToString(); 
      string path = MapPath("~/Docfiles/" + filename); 
      byte[] bts = System.IO.File.ReadAllBytes(path); 
      Response.Clear(); 
      Response.ClearHeaders(); 
      Response.AddHeader("Content-Type", "Application/octet-stream"); 
      Response.AddHeader("Content-Length", bts.Length.ToString()); 
      Response.AddHeader("Content-Disposition", "attachment; filename=" + 
      filename); 
      Response.BinaryWrite(bts); 
      Response.Flush(); 

但现在 我创建一个表,并显示出一些数据,我想在一个下载链接表 这里是表的代码...

<div class="CSSTableGenerator" > 
      <table border="0" width="100%" cellpadding="0" cellspacing="0" 
       id="results"> 
      <asp:Repeater ID="Repeater1" runat="server"> 
      <HeaderTemplate> 
       <tr> 
        <td> 
         Document ID 
        </td> 
        <td > 
         Document Name 
        </td> 
        <td> 
         File Uploaded 
        </td> 
        <td> 
         Document Type 
        </td> 

       </tr> 
       </HeaderTemplate> 
       <ItemTemplate> 
       <tr> 
       <%--<td><asp:LinkButton ID="LinkButton1" runat="server" 
       CommandArgument='<%# Eval("FileUploaded") %>' 
      CommandName="cmd">Download</asp:LinkButton></td>--%> 
       <td><%#DataBinder.Eval(Container.DataItem,"DocumentID") %></td> 

       <td><%#DataBinder.Eval(Container.DataItem, " 
        DocumentName")%> </td> 
       <td><%#DataBinder.Eval(Container.DataItem, 
           "FileUploaded")%></td> 
       <td><%#DataBinder.Eval(Container.DataItem, 
         "Document")%></td> 
       </tr> 
       </ItemTemplate> 
       </asp:Repeater> 
       <div id="pageNavPosition" > 
       </div>    
      </table> 
      </div> 

现在如何添加在表中的下载链接,我写的东西,而不是GridView1_RowC ommand?

任何解决方案?

+0

<td><a href="/Docfiles/<%#DataBinder.Eval(Container.DataItem, "DocumentName")%>">Download</a></td> 

GridView1_RowCommand我不知道你想达到的目标。这可能是有帮助的http://www.w3schools.com/tags/att_a_href.asp – FeliceM

+0

我尝试添加表中的下载按钮...当我点击下载文件将下载 – user2883796

回答

1

据我所知,您将文件存储在某个名为“Docfiles”的文件夹中。 所有你需要在ItemTemplate中做添加超链接这个文件并不需要在这种情况下

+0

但我如何在下载按钮代码。 ..when我点击下载苍蝇将下载 – user2883796

+0

你在哪里存储文件? –

+0

在Docfiles..and显示在表中,当用户点击下载该文件时将被下载 – user2883796