private void DownloadFile(object sender, EventArgs e) { if (sender is IButtonControl) { var button = sender as IButtonControl; Card card; var entityID = Convert.ToInt32(button.CommandName); Cards.TryGetValue(entityID, out card); var field = card.Fields.First(f => f.SystemName == button.CommandArgument); var content = DataBaseReader.GetFileContent(card, int.Parse(card.EntityInstance.EntityInstanceID)); var response = Page.Response; response.Clear(); response.AddHeader("content-disposition", string.Concat("attachment;fileName=", field.Value)); response.BinaryWrite(content); response.Flush(); response.End(); } }