【发布时间】:2011-03-09 00:30:21
【问题描述】:
作为 asp:Checkboxes 没有值这一事实的解决方法,我尝试在 DataList 中动态创建复选框的 ID,以便将主键插入到控件 ID 中。这非常困难。
我在我的 DataList ItemTemplate 中放置了一个 PlaceHolder,然后在 ItemCreated 中我使用string.Format("Checkbox{0}", DataBinder(e.Item.DataItem, "ID")) 创建了复选框。问题是这只适用于非回发条件,因为在回发时 DataItem 为空。当然,ItemDataBound 不会在 PostBack 上调用,所以这也不起作用。
我似乎找不到处理if (IsPostback) dataList.Bind() 不足的好方法,我认为这不是一个好方法。
谁能在这里为我提供任何替代方案?
编辑:
一些附加信息。我刚刚意识到问题的一部分是因为我实际上在 DataList 中有一个 DataList。 DataItem 为 null 的原因是回发时没有数据绑定,并且子数据没有保存到视图状态。
基本上,我正在做的是This,尽管它使用的是DataList 而不是Repeater。因此,在回发时,不会设置 Children 集合,因为在回发时未调用 ItemDataBound。
EDIT2:澄清一下,问题主要是因为嵌套的数据列表。我必须将嵌套数据列表的数据源设置为第一个数据列表的各个行字段的集合字段。在回发时,没有数据绑定,所以它不起作用。
【问题讨论】:
标签: asp.net