For creating a zip file see :
Create ZIP Files From An ASP.NET Application[
^]
For download add a Button and in its click event use the code below:
protected void Button_Click(object sender, EventArgs e)
{
Response.ContentType = "application/x-zip-compressed";
Response.AppendHeader("Content-Disposition", "attachment; filename=x.zip");
Response.TransmitFile(Server.MapPath("~/x.zip"));
Response.End();
}
Server.MapPath("~/x.zip")
is the path of the zip file