Элементы XSD для формы в ASP.NET - PullRequest
2 голосов
/ 20 октября 2008

Существует ли стандартный способ преобразования XSD в форму ввода (ASP.NET C #), чтобы впоследствии при добавлении / удалении нового поля из XSD поле на странице автоматически отображалось или исчезало соответственно, это что-то, что должно быть разработано внутри компании? Я предполагаю, что должен быть способ сериализации / десериализации и генерации формы? Любой хель будет оценен ..

Ответы [ 3 ]

2 голосов
/ 20 октября 2008

Я не думаю, что есть что-то встроенное, чтобы сделать это полностью автоматическим. Тем не менее, вы можете получить довольно близко. Visual Studio содержит программу командной строки под названием xsd.exe, которую можно использовать для автоматического создания определения класса из документа xsd. Получив это определение класса, вы можете подключить его к форме через компонент ObjectDataSource и элемент управления DetailsView.

0 голосов
/ 31 октября 2008

Ну, я должен сказать, что ObjectDataSource - неплохая идея, но это не работает, если у вас есть вложенные элементы. Кроме того, для вложенных элементов у вас будут все логические поля "..FieldSpecified" в DetailsView.

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

Кто-нибудь уже сталкивался с этой проблемой?

PS: Другой подход заключается в использовании InfoPath, но для этого требуется лицензионное программное обеспечение для работы в качестве веб-форм ...

0 голосов
/ 20 октября 2008

Предположение: вы используете XML, потому что в данный момент он проще для вас.

Идея: поскольку вы хотите создать форму для манипулирования данными, я предполагаю, что вы можете быть открыты для SQL вместо XML. Это может быть не так, но вы, вероятно, найдете больше инструментов, которые помогут вам, если у вас есть серверная часть базы данных вместо серверной части XML / XSD. (Плюс есть способы, которыми вы можете конвертировать свои данные из одной в другую).

Существуют инструменты, которые создают формы из баз данных в ASP.NET. SubSonic, например, имеет модуль авто-леса, который позволяет вам создать менеджер базы данных, зная только его схему. Если схема изменится, просто попросите SubSonic восстановить свои файлы, и ваши формы будут изменены. Это не идеально, но это может иметь большое значение, в зависимости от ваших потребностей.

Вариант 1) Вы можете создать схему базы данных из XSD ( Как я могу создать таблицы базы данных из файлов XSD? ) и использовать SubSonic с этого момента. Это может быть даже больше боли, чем ваш первоначальный вопрос ... только вы знаете.

Вариант 2) Взломать леса SubSonic, чтобы он поддерживал ваш базовый XSD / XML вместо базы данных. Вероятно, вы можете повторно использовать большую часть их инфраструктуры (SubSonic с открытым исходным кодом) для создания формы из XSD.

Удачи!

...