目标
如果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页面上调用。需要在后面的代码中调用。)
答案 0 :(得分:1)
查找面板:
{
Dim pnlSubCategories As Panel = DirectCast(e.Item.FindControl("pnl1"),Panel)
pnlSubCategories.cssClass="yourclass"
}