Добавление «Экспорт в XML» на сайт динамических данных - PullRequest
0 голосов
/ 16 июня 2009

Я работаю на бизнес-уровне для сложного веб-приложения и временно использую функциональность Dynamic Data Site, чтобы позволить вводить данные во многие таблицы, которые мне нужно поддерживать. Я не хочу тратить слишком много времени на эту DDS, поскольку сначала необходимо завершить бизнес-уровень. После завершения бизнес-уровня его отправляют кому-то еще, чтобы добавить лучший пользовательский интерфейс.

Однако, хотя DDS предлагает множество функциональных возможностей очень простым способом, я просто хочу расширить его с помощью кнопки или ссылки «Экспорт в XML». (И я, вероятно, добавлю кнопку «Экспорт в Excel» позже.)

Так, кто-нибудь уже сделал что-то подобное? Что было бы самым простым способом реализовать это в .NET, не переписывая DDS?

(Я использую модель Entity для соединения с базой данных, и большая часть бизнес-уровня построена на этой модели Entity. После завершения бизнес-уровня для этого веб-приложения будет разработан настоящий графический интерфейс, но сейчас мне просто нужно хороший способ ввода / вывода этих данных.)


У меня нет проблем с преобразованием сущности, установленной в XML. Это легкая часть. Моя проблема заключается в расширении "ListDetails.aspx" с помощью дополнительной кнопки, которую пользователь может нажать. После нажатия он должен экспортировать набор данных в XML. Чтобы было интересно, если пользователь установил один или несколько фильтров, он должен экспортировать только те отфильтрованные записи. Я думаю, что мне придется посмотреть на объект "GridDataSource", который находится на этой странице, и поэкспериментировать с ним. Будет ли возвращена вся таблица или только отфильтрованный набор данных? Или только записи, которые есть на текущей странице?


Теперь при экспорте я просто хочу получить дамп набора данных в XML. По сути, то, что вы видите, должно оказаться в конечном XML. Если бы у меня был доступ к отфильтрованному набору данных, создание XML было бы простым. (И создание листа Excel поверх этого тоже очень просто.) В общем, экспорт используется только для того, чтобы помочь развить бизнес-уровень проекта, над которым я работаю. Большая часть кода представляет собой бизнес-логику, которая будет использоваться в других (веб / настольных) клиентских приложениях, но пока проект еще не завершен, DDS необходим для более легкого ввода данных для проекта. Когда он закончится (наверное, через миллион лет), DDS больше не будет использоваться. Мы также не будем использовать экспорт XML или таблицы экспорта. Но пока этот экспорт полезен для оценки данных. (Так как мне еще предстоит разработать более сложные инструменты анализа.)

Ответы [ 2 ]

0 голосов
/ 18 июня 2009

Это довольно просто, вам нужно решить пару вопросов:

  • Предоставление средства для запуска экспорта
  • Генерация XML
  • Обеспечение доступности XML (в виде ссылки) для загрузки - при условии, что это именно то, что вы хотите сделать.

Существует несколько менее простая альтернатива, которая заключается в создании службы для генерации и возврата XML.

С точки зрения первого - ничто не мешает вам редактировать главную страницу или страницу по умолчанию, чтобы добавить свои собственные функции, то есть кнопку или ссылку на общую страницу XML.

Что касается второго - Linq делает почти тривиальным генерирование XML из вашей модели Entity.

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

Я ценю, что это общие ответы, но это довольно общий вопрос, и детали реализации лучше рассмотреть на более конкретных страницах.

В частности, у меня есть сайт данных Dyanmic, который должен генерировать XML, первой итерацией была просто кнопка на странице по умолчанию, которая сохраняла файл на диск (одно имя файла, один формат файла, щелчок, поколение, сохранить, сделано). Причиной XML послужили исходные данные для другого сайта, поэтому я добавил службу WCF, которая предоставляет тот же XML. Общее время, потраченное (меньше на то, чтобы разобраться в WCF), вероятно, меньше чем полдня - большая часть была потрачена на работу с выводом XML.

0 голосов
/ 18 июня 2009

Может быть, вы можете что-то сделать с FileHelpers .

...