Как вернуть файл и строго типизированные данные одновременно? - PullRequest
3 голосов
/ 05 мая 2010

Я использую asp.net mvc 1.0 и хочу вернуть файл XML, но я также хочу вернуть строго типизированные данные, чтобы я мог обновить некоторые поля.

Как XML-файл будет содержать пользователей, которых не удалось вставить в базу данных. Поэтому я хочу, чтобы это отображалось в виде диалогового окна сохранения, что бы делал возвратный файл asp.net mvc ().

Однако я также хочу вернуть на страницу такие значения, как, например, сколько пользователей не удалось добавить, сколько пользователей было добавлено и т. Д.

Итак, я хочу использовать scafolding с файлом класса, который я хочу передать. Если бы это был вид, я мог бы передать его как объектную модель, но я не вижу параметра для этого в File ().

Я также не хочу сохранять XML-файл на жесткий диск, я хочу сделать это через память. Так что есть ссылка, которая будет отображаться на странице, чтобы загрузить файл и показать, что данные, которые я хочу, не были бы желательны.

1 Ответ

1 голос
/ 05 мая 2010

Я могу ошибаться, но я думаю, что для этого вам нужно будет использовать JavaScript. То, что вы пытаетесь сделать, это ограничение HTTP, и, исходя из моего понимания HTTP, вы можете возвращать только один тип файла на ответ, так как протокол является request->response.

Вы можете заставить MVC возвращать строго типизированное представление в дополнение к имени файла XML внутри ViewData. Затем с помощью функции JavaScript измените свойство window.location на URL файла (или создайте новое окно).

Я не уверен в точных деталях того, как изящно сделать так, чтобы JavaScript выкладывал файл, как на многих сайтах загрузки.

Edit:

Я нашел, как gracefully автоматизировать процесс загрузки, проверьте этот вопрос:

JavaScript автоматическая загрузка файла

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...