C# 展开GridView单元格以查看和下载文件
我有一个gridview,在这个gridview中有一列“文件名”,其中包含文件名。 要求:当我点击特定的文件名,我应该能够看到文件的内容,并能够保存或下载该文件 所有的方法都非常受欢迎C# 展开GridView单元格以查看和下载文件,c#,javascript,asp.net,ajax,gridview,C#,Javascript,Asp.net,Ajax,Gridview,我有一个gridview,在这个gridview中有一列“文件名”,其中包含文件名。 要求:当我点击特定的文件名,我应该能够看到文件的内容,并能够保存或下载该文件 所有的方法都非常受欢迎 _________________________________________ | |**file name** | _________________________________________ | | a.t
_________________________________________
| |**file name** |
_________________________________________
| | a.txt | <<----Click a.txt
_________________________________________
| | b.txt |
_________________________________________
_________________________________________
||**文件名**|
_________________________________________
|| a.txt |有一个链接按钮或按钮来显示文件名。使用runat=“server”放置一个div以显示文件内容
处理文件名按钮单击事件。在事件中,读取文件内容并将其设置为div的InnerHTML
以上内容用于显示文本/html内容。您可以尝试类似的方法,打开新的popup.aspx页面,文件名为queryparam。
在新的弹出页面页面加载中,读取内容并将其写入浏览器
<asp:GridView ID="FilterGrid" runat="server" AutoGenerateColumns="False" >
<Columns>
<asp:TemplateField HeaderText="FileName" >
<ItemTemplate>
<asp:HyperLink ID="ActionHyperLink" runat="server" Text='<%# Eval("FileName") %>' NavigateUrl='<%# Eval("FileName","~/FilePopUp.aspx?filename={0}") %>' Target="_blank" />
<asp:HyperLink ID="HyperLink2" runat="server" Text='<%# Eval("FileName") %>' NavigateUrl='<%# String.Format("filepopup.aspx?filename={0}", Eval("filename")) %>' onclick="javascript:w= window.open(this.href,'DownloadFile','left=20,top=20,width=500,height=500,toolbar=0,resizable=0');return false;"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
你需要以pdf格式显示文件还是只保存文件?我什么都可以。主要的事情是,当我点击文件名时,我想查看文件的内容,应该有一个保存文件内容的选项。我不关心文件格式。您能显示网格视图的内容吗?Clint ID硬件号文件名序列号100 5 abc.xml 1007 105 17 xyz.xml 5017抱歉提供的信息太少。文件内容来自数据库表。表有一列“文件内容”。因此,基于特定文件名上的单击事件,我将执行查询以从数据库中获取文件内容
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["filename"] != null)
{
//Get the content from database
byte[] fileContent = ....;
Response.Clear();
string doctype = ...;
if (doctype == ".doc")
{
Response.ContentType = "application/msword";
}
else if (doctype == ".pdf")
{
Response.ContentType = "application/pdf";
}
else if (doctype == ".xls")
{
Response.ContentType = "application/vnd.ms-excel";
}
else if (doctype == ".xlsx")
{
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
}
Response.BinaryWrite(fileContent);
}
}