0

目标

如果 sql 表中的位列为真,则将 cssclass 添加到转发器内的 div 中。

当前代码

  <asp:Repeater ID="rpt1" RunAt="Server" OnItemDataBound="rpt1_ItemDataBound">
    <ItemTemplate>
      <asp:Panel ID="pnl1" RunAt="Server"></asp:Panel>
    </ItemTemplate>
  </asp:Repeater>

Protected Sub rpt1_ItemDataBound(Sender As Object, e As RepeaterItemEventArgs)
    If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
        If e.Item.DataItem("MyBitCol") = True Then
            Dim div1 = CType(rpt1.FindControl("pnl1"), Panel)
            div1.Attributes.Add("class", "MyClass")
        End If
    End If
End Sub

转发器在页面加载时正确绑定,并从包含“MyBitCol”列的 sp 填充

问题

如何从后面的代码中查找和定位转发器内的 div?

如何检索绑定到转发器的 mssql 列值?(列绑定到repeater但不在aspx页面上调用。需要在后面的代码中调用)。

4

1 回答 1

1

要查找面板:

{
    Dim pnlSubCategories As Panel = DirectCast(e.Item.FindControl("pnl1"),Panel)
    pnlSubCategories.cssClass="yourclass"
}
于 2013-09-04T10:02:01.860 回答