簡體   English   中英

ASP.NET:在網格視圖上單擊文件名時,從數據庫下載文件

[英]ASP.NET: Download file from database when clicking on file name on Grid View

我有一個網格視圖,該視圖顯示員工的所有上載文件(來自SQL DB的數據)。

<asp:GridView ID="GridView1" runat="server"
AutoGenerateColumns="False" AllowPaging="true" ShowFooter="false" PageSize="5"
CssClass="table" AlternatingRowStyle-BackColor="WhiteSmoke"
HeaderStyle-BackColor="#6C7A95" HeaderStyle-BorderColor="#666666" HeaderStyle-BorderStyle="Solid" HeaderStyle-BorderWidth="2" HeaderStyle-ForeColor="White"
OnPageIndexChanging="OnPaging" EmptyDataText="No Documents">
    <Columns>
        <asp:BoundField DataField="file_name" HeaderText="File Name" />
        <asp:BoundField DataField="upload_date" HeaderText="Date (GMT -7)" />
        <asp:BoundField DataField="file_status" HeaderText="Status" />

        <asp:TemplateField HeaderText="Employee's Note">
            <ItemTemplate>
                 <a data-original-title='<%# Eval("emp_note")%>' href="#" class="demo-cancel-click" rel="tooltip"><i class="icon-book"></i></a>
             </ItemTemplate>
        </asp:TemplateField>

    </Columns>
</asp:GridView>

界面如下所示: 在此處輸入圖片說明

我喜歡將其存檔:文件名將是一個鏈接按鈕(或最好的方法),當單擊名稱時,它將下載文件。 因此,我修改了“文件名”列:

<asp:TemplateField HeaderText =" File Name">
        <asp:ItemTemplate>
               <asp:LinkButton ID="lnkDownload" runat="server" 
                    OnClick="DownloadFile" Text='<%#Eval("file_name") %>' 
                    CommandArgument='<%# Eval("file_id") %>'></asp:LinkButton>
         </asp:ItemTemplate>
</asp:TemplateField>

但是隨后界面變成了:(文件名消失了)

在此處輸入圖片說明

如何獲得所需的東西?

您需要從ItemTemplate刪除asp: ItemTemplate 您的標記應如下所示:

<asp:TemplateField HeaderText=" File Name">
    <ItemTemplate>
        <asp:LinkButton ID="lnkDownload" runat="server"
            OnClick="DownloadFile" Text='<%#Eval("file_name") %>'
            CommandArgument='<%# Eval("file_id") %>'></asp:LinkButton>
    </ItemTemplate>
</asp:TemplateField>

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM