Я думаю, что этот механизм будет работать.
Есть кнопка HTML, которая вызывает функцию javascript при нажатии.
<input id="downloadbtn" type="button" value="Download" onclick="download();" />
Функция будет выглядеть примерно так:
var download = function() {
$.ajax({
url: "datamaker.aspx",
context: document.body
}).done(function(data) {
// parse response data, get file path
var filepath = ParseDataToGetFilePath(data);
// open the csv file path in a new window (which will begin download)
window.open(filepath, '_blank');
});
};
В ServerSide, "datamaker.aspx" должен подключиться к SQL Server, а также создать файл CSV. Создание CSV-файла так же просто, как создание любого другого файла с помощью streamwriter и запись «запятой» между полями. В конце этой страницы выведите имя файла либо в ответ xml, либо json.
{ filepath: \path\datafile.csv }
У вас возникнут проблемы с веб-приложением и Excel. Попробуйте этот ответ: http://stackoverflow.com/a/11559077/61339 – JeffO
@JeffO Я в порядке с CSV. Я все еще не уверен, как работать с загрузкой на клике. – steventnorris