在DataList1.HeaderTemplate里面放置了 DropDownList1
c#里我如何得到DropDownlist1的value
DataList1.HeaderTemplate.FindControl("DropDownList1");这个有问题
DataList1.FindControl("DropDownList1");这个也不行
还有什么办法?

解决方案 »

  1.   

    Loop all the items of the DataList,
    and find an item match like this:        for(int i=0;i<this.DataList1.Items.Count;i++)
                if (this.DataList1.Items[0].ItemType == ListItemType.Header)
                    this.DataList1.Items[0].FindControl("xxx")...
      

  2.   

    我测试了一下,好象就在绑定数据的时候能查到,其他的这几种都找不到HeadTemplate.    protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e)
        {
            if (e.Item.ItemType == ListItemType.Header)
            {
                Control c = e.Item.FindControl("DropDownList1");
            }
        }
      

  3.   

    要遍历DataList的Item查找DropDownList
    用1 楼的方法for(int i=0;i<this.DataList1.Items.Count;i++)
    {
         if (this.DataList1.Items[0].ItemType == ListItemType.Header)
             string getvalue=((DropDownList)this.DataList1.Items[0].FindControl("DropDownList1")).SelectedValue;
    }
      

  4.   


    干嘛要找HeaderTemplate,那只是个模板
    你要找的是Header
      

  5.   


    我找的也是Header,只是这里描述错了,但是代码里判断的是header还有你写的那种根本是找不到Header的,请你测试一下.