加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 无法获得c#来制作可下载的csv

发布时间:2020-12-16 07:11:11 所属栏目:asp.Net 来源:网络整理
导读:我不得不编写一个按钮,然后点击,将csv文件下载到客户端的计算机上(这是一个Web应用程序) 所以,做了一些研究,把所有的字符串拉到一起,去了数字,它不起作用. 我现在想要解决这个问题: protected void btnDownload_onClick(object sender,EventArgs e) { Respo
我不得不编写一个按钮,然后点击,将csv文件下载到客户端的计算机上(这是一个Web应用程序)

所以,做了一些研究,把所有的字符串拉到一起,去了数字,它不起作用.

我现在想要解决这个问题:

protected void btnDownload_onClick(object sender,EventArgs e)
    {
        Response.Clear(); 
        Response.AddHeader("content-disposition","attachment; filename=tmp.csv");
        Response.ContentType = "text/csv";
        Response.Write("one,two,three,four,five");
        Response.End();
    }

根据google上发布的一篇博客,我只需要生成csv即可下载它.

只是,它不起作用,我无法弄清楚它有什么问题.

1)firebug检查:响应是EMPTY.
2)VS调试,奇怪地在行Response.End()之后停止并抱怨它无法找到内容.

我错过了什么吗?
非常感谢.非常.

编辑:我刚刚意识到了一些事情,这是一个子页面,母版页中有一个更新面板.这可能是问题的原因吗?如果是这样,我怎么能取消这个子页面的ajax回发?

解决方法

阅读 your comments并进行编辑,看起来您想要从子页面中取消这一个按钮的ajax回发,并且您的更新面板位于母版页中,您无法访问它.

如果我有正确的详细信息,只需在您的子内容页面的PageLoad()上添加此代码:

ScriptManager sm = ScriptManager.GetCurrent(Page);
        if (sm != null)
            sm.RegisterPostBackControl(btnDownload); 
        //btnDownload = the button ID,just copied from your code.

这将强制整页回发,您的文件将被下载.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读