无法获得c#来制作可下载的csv

Loc*_*rde 5 csv asp.net response.write c#-4.0

我不得不编写一个按钮,然后点击,将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();
    }
Run Code Online (Sandbox Code Playgroud)

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

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

1)firebug检查:响应是EMPTY.
2)VS调试,奇怪地停止了线路Response.End()和投诉,它无法找到内容.

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

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

iam*_*ous 5

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

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

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

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