如何在转发器中找到div / panel并应用css?

时间:2013-09-04 09:57:29

标签: asp.net css sql-server vb.net repeater

目标

如果sql表中的位列为true,则将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列值? (列绑定到转发器但未在aspx页面上调用。需要在后面的代码中调用。)

1 个答案:

答案 0 :(得分:1)

查找面板:

{
    Dim pnlSubCategories As Panel = DirectCast(e.Item.FindControl("pnl1"),Panel)
    pnlSubCategories.cssClass="yourclass"
}