2011-08-07 49 views
1

我有一个ItemTemplate中继器包含一个CheckBoxTextBox如何访问Repeater的项目随机

我的中继代表检查表加一个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

我相信你有一个中继器混合两个不同的实体 - 订单和订单项目。 在我看来,更好的方法是在页面上放置两个中继器:第一个用于显示订单,第二个用于显示所选订单的订单项目。通过这种方式,您可以将两个简单的SqlDataSource控件用于两个中继器,并根据第一个中继器中当前的顺序选择将ControlParameter添加到用于检索订单项的数据源。

+0

好吧,我不明白你很好,如果你可以用一些代码说明你的想法,那将是很棒的.. btw如何有一个隐藏的领域和RowDataBinding我得到一个计数器,并添加1到每个HiddenField创建? ..为我迟到,但我有一些工作问题=) – lKashef