当前位置:首页
开发技术指南» 文章正文
    引言:

    摘要: 我的链接代码为: sqlconnection conn =new sqlconnection(); conn.connectionstring=@"data source=user-bb1f14c07;integrated security=sspi;initial catalog=gyzxstu"; conn.open(); string st......
    摘要: 我有个多表查询的语句: string sqlstring = "select convert(varchar(7),t1.dt,21) dt," +" case " +" when sum(isnull(t2.yljml,0))=0" +" then 0" ......


Repeater中的FindControl的问题

前台的代码是这样子的:  
  <asp:repeater   id="Right"   runat="server"   EnableViewState="False">  
          <ItemTemplate>  
                  <asp:Label   ID="Label1"   Runat="server"></asp:Label>  
  <asp:CheckBoxList   id="CheckBoxList1"   runat="server"   RepeatDirection="Horizontal"         DataTextField="name"   DataValueField="id"></asp:CheckBoxList>  
  <hr   />  
          </ItemTemplate>  
  </asp:repeater>  
  后台的代码是这样子的:  
  private   void   initRight()  
  {  
  if(e.Item.ItemType   ==   ListItemType.AlternatingItem   ||   e.Item.ItemType   ==   ListItemType.Item)  
  {  
  string   SQL_SELECT_RIGHT   =   "Select   id,   name   From   menu";  
  string   SQL_SELECT_SUBRIGHT   =   "Select     name,   id   From   menuitem   Where   parentid   =   @parentid";  
  System.Data.SqlClient.SqlDataReader   rdr   =   SQLHelper.ExecuteReader(SQLHelper.CONN_STRING_NON_DTC,   CommandType.Text,   SQL_SELECT_RIGHT,   null);  
  //rdr.Read();  
  //while(rdr.Read())  
  //{  
  for(int   i   =   0;   i   <   Right.Items.Count   &&   rdr.Read();   i   ++)  
  {  
  Label   label   =   (Label)Right.Items[i].FindControl("Label1");  
  label.Text   =   rdr.GetString(1);  
   
  System.Data.SqlClient.SqlParameter[]   param   =   new   System.Data.SqlClient.SqlParameter[1];  
  param[0]   =   new   System.Data.SqlClient.SqlParameter("@parentid",   SqlDbType.Int);  
  param[0].Value   =   rdr.GetInt32(0);  
   
  System.Data.SqlClient.SqlDataReader   subrdr   =   SQLHelper.ExecuteReader(SQLHelper.CONN_STRING_NON_DTC,   CommandType.Text,   SQL_SELECT_SUBRIGHT,   param);  
  CheckBoxList   checkBoxList   =   (CheckBoxList)Right.Items[i].FindControl("CheckBoxList1");  
   
  checkBoxList.DataSource   =   subrdr;  
  checkBoxList.DataBind();  
  }  
  //}  
  }  
  }  
  然后在Page_Load里面调用initRight(),为什么不能过将CheckBoxList绑定数据呢??  
  谢谢

NO.1   作者: jimu8130

那时候数据都已经绑定好了  
 

NO.2   作者: jimu8130

一般要么在repeater的itemdatabound事件里面来写   !你可以单步执行观察到的pageload事件在itemdatabound事件后面执行。  
  如果要动态绑定都是在itemdatabound里面来写或者itemcreated事件里面写


    摘要: datagrid模板列设置: <asp:templatecolumn headertext="用户名称"> <itemtemplate> <asp:hyperlink runat="server" id="username" text=<%# dat......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE