[英]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.