Прежде всего вы пытаетесь вызвать метод кода сервера, используя обработчик onclick, как указал @Darin Dimitrov.
В вашем случае я бы ASP: LinkButton
<asp:LinkButton ID="lnkBtnDownload"runat="server "OnClick="lnkBtnDownload_Click"/>
А в обработчике событий в коде я бы использовал Response.TransmitFile, например:
//get the Temp internet folder path
string filePath = Environment.GetFolderPath(Environment.SpecialFolder.InternetCache) + "\\" + YourFileName;
//save the file on the server
FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.ReadWrite);
fs.Write(YourByteArray, 0, YourByteArray.Length);
fs.Close();
//transmit the file
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment; filename=" + YourFileName);
Response.TransmitFile(filePath);
Response.End();
Обратите внимание, что приведенный выше код может передавать файлы любого типа и не ограничивается текстовыми файлами.
Надеюсь, это поможет