Как получить доступ к элементам повторителя в случайном порядке - PullRequest
1 голос
/ 07 августа 2011

У меня повторитель с ItemTemplate содержит CheckBox, TextBox

Мой репитер представляет собой контрольный список плюс TextBox для добавления комментария к каждому элементу, который я выбираю из списка.

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

Я знаю, это действительно сбивает с толку, поэтому я просто изложу это более наглядно:

Просмотр базы данных

Items
=======================
ID     Name
---    -----
1      Banana 
2      Apple
3      Strawberry
4      Orange


ShopCart_Items
========================================
ItemID    ItemName     CartID     Value
-------   ---------    -------    ------
2         Apple        1          1
4         Orange       1          2
2         Apple        2          2

страницуПоказать Сначала репитер заполняется всеми предметами, которые у меня есть в моей таблице «Предметы», без флажков или чего-либо еще.

Затем я выбираю конкретную корзину (скажем, cartId = 1) для редактирования, и вот что меня действительно смущает, как это сделать: Теперь повторитель будет иметь около 15-20 элементов, поэтому мне нужно получить доступ только к элементам, которые пользователь выбирает в текущей корзине (cartId = 1), которые пользователь хочет редактировать, чтобы он мог знать, что он выбрал, и начать выбирать новые значения, отметьте / снимите флажки и т.д.


Я прошу прощения за весь этот длинный вопрос, но я действительно запутался, должен ли / могу ли я получить доступ к каждому элементу напрямую или какую логику вы мне посоветуете использовать? ..Спасибо =)

1 Ответ

1 голос
/ 08 августа 2011

Я полагаю, что вы смешали два разных объекта в одном повторителе - заказы и элементы заказа.На мой взгляд, лучше всего разместить на странице два повторителя: первый для отображения заказов, а второй для отображения позиций заказов для выбранного заказа.Таким образом, вы можете использовать простые элементы управления SqlDataSource для обоих повторителей и добавить ControlParameter к источнику данных, используемому для извлечения элементов заказа, в зависимости от текущего выбора заказа в первом повторителе.

...