Связывание списков дочерних категорий - PullRequest
0 голосов
/ 12 мая 2010

У меня мало людей, работающих с aspx, и сейчас я занимаюсь разработкой веб-сайта корзины покупок.Чтобы сотрудник мог загружать продукты в БД, каждый продукт должен быть связан с категорией, подкатегорией, подкатегорией и т. Д.Иногда подкатегории составляют до 5. Например, Electronics-TV-LCD-Samsung-40 дюймов.

Во-первых, я хотел бы указать, имеет ли таблица SQL структуру apporpiate.У меня есть 3 столбца Id, Description, Parent_Id.Категории с Parent Id = 0 используются для верхних.Это лучший способ сделать это?

Затем я хочу использовать элемент управления ListBox, чтобы выбрать основные категории, и, как только он будет выбран, заполнить второй список с его потомками и так далее.Нужно ли запрашивать базу данных SQL каждый раз, когда происходит событие изменения?Я слышал о linq, но еще не использовал, что бы вы предложили сделать это.Если вы видели образец, чтобы понять его лучше, мы будем благодарны.

Спасибо

1 Ответ

0 голосов
/ 12 мая 2010

Я бы сказал, что структура таблицы категорий является разумной. Существует несколько способов реализации интерфейса. Вы можете заполнить дочерние списки без вызова базы данных, но вам придется извлекать всю иерархию при каждом обновлении страницы и сохранять их в массивах javascript или аналогичных, а затем заполнять дочерние списки с помощью javascript, это может быть много data if - это иерархия категорий comples. Вы также можете установить свойство autopostback = true в списке, и оно будет отправлять на сервер каждый раз, когда изменяется выбор, хотя это немного неуклюже. Срединная земля будет использовать AJAX. Самый простой способ сделать это - использовать панели обновлений, просто спроектировать их с обратной передачей и обернуть списки в панели обновлений. Наиболее эффективным способом было бы написать веб-сервис для возврата списка категорий и подключить его с помощью элемента управления scriptmanager. Затем вы можете вызвать его, используя javascript, и сгруппировать списки с данными, возвращенными веб-службой.

...