请问如何在事件中引用aspx页面repeater控件所包含控件的数据
1、html视图中的部分源代码:
<body>
<form id= "form1 " runat= "server ">
<div>
<table border= "1 " style= "width: 832px; height: 360px ">
<tr> <td> <asp:Repeater ID= "rp1 " runat= "server " OnItemDataBound= "rp1_ItemDataBound ">
<ItemTemplate>
<table>
<tr>
<asp:Label ID= "Label1 " runat= "server "> <%#Container.DataItem( "bigclassid ")%> </asp:Label>
<td align= "center "> <span class= "STYLE8 "> <a href= 'showmore.aspx '> <%#Container.DataItem( "bigclassname ")%> </a> </span> </td> <td align= "right "> <a href= "# "> > > > More </a> </td> </tr> <asp:Repeater ID= "rep_mingxi " runat=server>
<ItemTemplate>
<tr>
<td> <a title= '文章标题: <%#container.dataitem( "title ")%> 作者: <%#container.dataitem( "writer ")%> 更新时间: <%#DataBinder.Eval(Container.DataItem, "newstime ")%> ' href= 'article_show.aspx?Newsid= <%#DataBinder.Eval(Container.DataItem, "newsid ")%> ' target= "_blank "> <%#left(container.DataItem( "title "),20) %> </a> </td>
</tr>
</ItemTemplate> </asp:Repeater>
</table>
</ItemTemplate>
</asp:Repeater>
</td>
</tr>
</table>
2、vb后台编码
Protected Sub rp1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rp1.ItemDataBound
Dim rpt As Repeater
Dim lb1 As Label
rpt = e.Item.FindControl( "rep_mingxi ")
lb1 = e.Item.FindControl( "Label1 ")
If lb1.Text <> " " Then
strsql = "select top 5 newsid,title,newstime,writer from news_article where bigclassid= " & Convert.ToInt32(lb1.Text) & " order by newsid desc "
Dim adp1 As New SqlDataAdapter(strsql, objconn)
Dim ds1 As New DataSet
adp1.Fill(ds1, "db2 ")
rpt.DataSource = ds1.Tables( "db2 ").DefaultView
rpt.DataBind()
cmd.Connection.Close()
End If
End Sub
问题所在:页面显示时,label控件能获取数据库中的数据,但lb1无法获取label1控件的数据,lb1为nothing,lb1.Text为 " ",请帮忙看看,问题在哪里?
[解决办法]
((Label)rp1.FindControl( "Label1 ")).Text = "123123 ";
只会C#
就是使用FindControl方法。你试试看。
[解决办法]
Protected Sub rp1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles rp1.ItemDataBound
IF e.Item.ItemType = ListItemType.Item OR e.Item.ItemType = ListItemType.AlternatingItem
'你的代码
End IF
End Sub