Я изменяю некоторый код MVC для проекта, который мы взяли на себя, у меня нет тонн опыта MVC.
Приложение отображает таблицу, полную пунктов, которые можно выбрать. Эти элементы передаются контроллеру, который создает файл загрузки, содержащий эти элементы. Ранее элементы передавались через QueryString, что нормально, если не сделано МНОГО выбора. IE имеет ограничение URL-адреса ~ 2048 символов, каждый элемент имеет длину ~ 30 символов, поэтому загрузка 70 элементов может вызвать проблемы (усеченная строка запроса).
Я изменил JavaScript, чтобы передавать данные в контроллер через Ajax. Это работает нормально, но теперь, когда данные возвращаются на страницу, окно загрузки не отображается.
старый javascript выглядел так:
function doDownload(url)
{
var data = AppendItems();
url = url;
var mybars = "directories=no,location=no,menubar=no,status=no";
mybars += ",titlebar='',toolbar=no,alwaysraised=yes,maximize=no";
var myoptions = "scrollbars=yes,fullscreen,resizable=yes";
var myfeatures = mybars + "," + myoptions;
if (!newWindow || newWindow.closed()) {
newWindow = window.open(url + data, "DownloadIncomingFile", myfeatures);
newWindow.focus();
}
}
Я превратил этот список в:
$.ajax({
type: "POST",
url: "DownloadIncomingWires/Download",
data: {
filePaths: filePaths,
completeStatus: completeStatus
},
traditional: true
});
Это успешно отправляет данные в контроллер, я просто не знаю, что делать на стороне VIEW, чтобы отображалось типичное окно «ЗАГРУЗИТЬ».
Всякий раз, когда я добавляю кусок window.open, я получаю ошибку 404. Без этого я ничего не получу.