Wednesday, April 1, 2009

How to create a text file on the fly, let user download it in ASP.NET

StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
sw.WriteLine("Name list");
Response.Clear();
Response.ContentType = "application/octet-stream";
Response.AppendHeader("content-disposition", "attachment;filename=teamlist.txt");
Response.Flush();
Response.Write(sb);
Response.End();

HTML encode link, helper to show code in blog

Link

Codes example for why use Lambda: how to find a distinct id list, and pass it into another method

Before Lambda:
List<Person> result = GetFromSomeWhere();

List<string> distinctids= new List<string>();
foreach (Person one in result)
{
if (!distinctids.Contains(one .Id.ToString()))
distinctids.Add(one .Id.ToString());
}

foreach (string id in distinctids)
{
DisplayPerson(id);
}

After:
List<Person> result = GetFromSomeWhere();
var result = result.Select(p=> p.Id).Distinct().ToList() ;
result.ForEach(id=>DisplayPerson(id));