不知道那位有实例可以参考?
aspx:
<div align="center"><asp:datalist id="dbList" runat="server" Width="760px" DataKeyField="CityId">
<HeaderTemplate>
<FONT face="宋体">
<TABLE class="MainFont12" id="Table1" cellSpacing="1" cellPadding="2" width="100%" align="center"
bgColor="#dfdfdf" border="0">
<TR bgColor="#f5f5f5">
<TD width="40" bgColor="#f5f5f5">选择</TD>
<TD width="350" bgColor="#f5f5f5">公司名</TD>
<TD width="100" bgColor="#f5f5f5">省份
<asp:DropDownList id="provinceDL" runat="server"></asp:DropDownList></TD>
<TD bgColor="#f5f5f5">地区
<asp:DropDownList id="cityDL" runat="server"></asp:DropDownList></TD>
</TR>
</TABLE>
</FONT>
</HeaderTemplate>
<ItemTemplate>
</ItemTemplate>.cs文件: #region ** -----BindProvinceDL----- **
private void BindProvinceDL(int buyerId)
{
foreach(DataListItem Item in dbList.Items)
{
DropDownList ddl= (DropDownList)Item.FindControl("ProvinceDL");
DBParameters p = new DBParameters();
p.AddInputParm("@BuyerId",buyerId);
SqlDataReader dr = SqlComd.CreateDr("SP_BuyerProvince_Sel",p);
ddl.DataSource = dr;
ddl.DataTextField = "ProvinceName";
ddl.DataValueField = "ProvinceId";
ddl.DataBind();
p.Clear();

}
}
#endregion
明显这样是找不到,这样只会到ItemTemplete里找。
我要找的是Header里的。
那位好手解决之。先行谢过

解决方案 »

  1.   

    建议你到datalist的事件里找HeaderItem,如ItemDataBound事件,
    根据事件参数System.Web.UI.WebControls.DataGridItemEventArgs e判断itemtype
     if((e.Item.ItemType == ListItemType.Header)
     {
        find dropdownlist and databind it ...
     }
      

  2.   

    你可用如下方式求取
    DropDownList provinceDL = (DropDownList)dbList.Controls[0].Controls[0].FindControls("provinceDL");
      

  3.   

    thanks a lot,飞客剑,also to ohter's responses.