无法从控制适配器

时间:2017-12-18 21:33:29

标签: asp.net .net vb.net

我正在尝试集成适配器以获得.net中对OptGroup标记的支持。我采用了与平时相同的适配器(一段时间,但没有构建错误或警告)。我在DropDownList中添加项目时设置属性,并尝试在适配器中读取它们,它们似乎设置为Nothing。我在兴趣点输入了断点,在设置之后,我可以看到属性具有值。在适配器中,项目仍然存在但没有所述属性。

为了得到所有可能的故障,我进入完整的硬编码添加项目,这里我们有结果。显示器没有分组,因为!=在适配器上永远不会满足。

列表声明:

Dim item1 As New ListItem("potatoes", "1")
item1.Attributes("OptionGroup") = "optionGroup1"

Dim item2 As New ListItem("Onions", "2")
item2.Attributes("OptionGroup") = "optionGroup2" 'here the optiongroup is set, and debugger sees value to it.

Me.cboMaterial.Items.Add(item1)
Me.cboMaterial.Items.Add(item2)

适配器失败的地方:

 Dim list As DropDownList = Me.Control
 Dim currentOptionGroup As String = ""
 Dim renderedOptionGroups As New Collection



 For Each item As ListItem In list.Items
     If item.Attributes("OptionGroup") = "" Then 'here, the item is worth something (potatoes) but the OptionGroup is nothing.
         RenderListItem(item, writer)
     Else
         If currentOptionGroup <> item.Attributes("OptionGroup") Then
             If currentOptionGroup <> "" Then
                 RenderOptionGroupEndTag(writer)
             End If
             currentOptionGroup = item.Attributes("OptionGroup")
             RenderOptionGroupBeginTag(currentOptionGroup, writer)
         End If
         RenderListItem(item, writer)
     End If
Next

我必须遗漏一些东西,也许是微不足道的,但我长期以来一直在寻找相同的东西。欢迎任何帮助。

编辑:我已经尝试使用辅助语法添加属性...我猜是绝望。

item2.Attributes.Add("OptionGroup","optionGroup2")

它什么都没改变:P

0 个答案:

没有答案