首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

请教怎么在事件中引用aspx页面repeater控件所包含控件的数据

2012-01-29 
请问如何在事件中引用aspx页面repeater控件所包含控件的数据1、html视图中的部分源代码:bodyformid fo

请问如何在事件中引用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 ")%>   &#13;&#10;作者: <%#container.dataitem( "writer ")%>   &#13;&#10;更新时间: <%#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

热点排行