2010-06-04 6 views
6

Мне нужно предоставить пользователям возможность редактировать таблицы в ASP.Net. Таблицы просты (нет отношений между мастерами/деталями), но их, вероятно, будет много. Какой самый быстрый/простой способ предоставить интерфейс просмотра/редактирования для таблицы, даже учитывая коммерческие возможности (но не Iron Speed ​​Designer. Эта вещь смехотворно дорого для того, что мне нужно)?Редактирование таблиц с помощью ASP.Net - Quick 'n Dirty

В своей самой простой/идеальной конфигурации я хочу указать элемент управления за столом и сделать это. Я рассмотрел несколько решений ORM, но все они пытаются стать швейцарским армейским ножом, который просто наваливается на сложность и, как правило, является зверем для себя.

Есть ли что-то сумасшедшее, что может помочь мне здесь? Или я должен просто погрузиться в SubSonic или что-то подобное?

+0

Похоже, что Dynamic Data является победителем, но есть ли у кого-нибудь хорошее представление о SubSonic и Dynamic Data? SubSonic - проект Хаака, не так ли? Итак, оба из Microsoft теперь? Может ли кто-нибудь дать высоту лифта на различия? Может быть, даже быстрая демо-версия похожа на ссылку, связанную с Грэмом Кларком ниже? Это предложение добавлено для того, чтобы весь мой комментарий не состоял из вопросов. –

+0

SubSonic не является проектом Haack, а не Microsoft, но я считаю, что Phil Haack вносит свой вклад в SubSonic. SubSonic - это ORM, и похоже, что вы не хотите ORM. –

ответ

5

После некоторых исследований, самая быстрая вещь, которую я нашел, оказывается, просто использует linq для sql с GridView. Я искал решение, которое может легко интегрироваться в существующие страницы. Без преимуществ авто-строительных лесов и сгенерированных страниц, Dynamic Data kinda пропускает отметку. 99% того, что я хотел, - это избегать ввода инструкций SQL и обработки команд UpdateCommands вручную.

Вот шаги, которые я написал для своей личной справки. Она в значительной степени зависит от дизайнеров, но за то, что мне нужно, это прекрасно:

  1. Новый проект (или существующий проект)
  2. Добавить файл LinqToSqlClass проекта
  3. Добавить Соответствующие таблицы из источника данных для проектирования поверхности (использовать сервер Explorer)
  4. проект сборки (так что DataContext класса будет получить сгенерированный)
  5. Перейти к ASPX странице
  6. Перетащите LinqDataSource объект из панели инструментов.
  7. Настройка источника данных (убедитесь, чтобы включить обновление при необходимости)
  8. Перетащите GridView из панели инструментов
  9. Набор DataSource для LinqDataSource объект, который вы только что создали
  10. Настроить столбцы, если это необходимо (например, установить только для чтения свойство на нередактируемый столбцы, скрывать неосновные столбцы.)

Что касается динамических данных, документации в настоящее время не хватает. Есть много вещей, которые ссылаются на более ранние версии, которые сейчас не работают. Я просмотрел видеоролики here и выполнил шаги here, но в конечном итоге столкнулся с проблемами, когда я попытался скрыть не редактируемые столбцы. Оператор обновления, созданный linq, не ссылался на первичный ключ, и я получил ошибку Row not found or changed. Я сдался и использовал решение выше.

Надеюсь, это поможет кому-то еще в будущем!

4

Попробуйте DynamicData от microsoft, встроенный в asp.net 4, доступный для скачивания для более ранних версий.

1
+5

Это именно то, что я делал годами, заставляя меня хотеть высунуть глаза острым палкой ... –

+0

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

+0

Я понимаю, как работает SO, и я ценю ваш вклад. Он может выполнить эту работу, но совсем не то, что я искал, и не был полезен в этом случае. (когда был отменен 24-часовой лимит при принятии ответов?) –

5

динамических данных является очень простой способ редактирования таблиц базы данных с помощью ASP.Net. Я не знал об этом, но я создал сайт для редактирования небольшой базы данных буквально за 5 минут, используя один из Scott Guthrie's blog posts. Он обрабатывал простые отношения с внешним ключом, которые у меня были.

+0

Спасибо за ссылку. Он очень близок к тому, что я хочу. Посмотрим дальше. Я <3-я Гу. –