Best way to return dynamic non-html content from a page
<p>I should start by saying that I am using ASP.NET using C# in a .NET 2.0 environment. In particular, I am trying to generate a csv download when the user clicks on a link button. The link to my postback is inside an UpdatePanel. In the past (before ajax) to return non-html content I would use code such as the following:</p>

<pre><code>string filename = e.CommandArgument.ToString();//somefile.csv
string fileContents = SomeClass.GetFile(filename);

Response.AddHeader("Content-disposition", 
                   string.Format("attachment; filename={0}", filename));
Response.Write(fileContents);
</code></pre>

<p>But since the content is not trying to do a full refresh of the browser this technique does not work.</p>

<p>Does someone have a better approach for this kind of situation. One constraint I have is that I am stuck with .net 2.0 for this part of the project and can't switch to 3.5 to solve this problem. </p>

<p>p.s. I need to generate the content with a dynamic filename as well</p>
