怎么给reapter 里的dropdownlist 赋值?

解决方案 »

  1.   

    在Repeater的ItemDataBound事件 或者绑定后循环遍历Repeater的item(for 或者 foreach)皆可.
    使用FindControl方法找到DropDownList控件,然后根据你的条件绑定就行了。
      

  2.   

    findctrol("id").as ddlst.selectindex=xxx
      

  3.   

    1、ItemDataBound中用FindControl方法
    2、使用数据源控件
      

  4.   

    if(!IsPostBack)   
      { BindData();}
    <asp:repeater id="Repeater1" runat="server" onitemdatabound="Repeater1_ItemDataBound">   
      <itemtemplate>   
      <div>   
      <asp:dropdownlist id="ddl" autopostback="true" onselectedindexchanged="myDrop_SelectedIndexChanged" runat="server"> </asp:dropdownlist>   
      </div>   
      </itemtemplate>   
      </asp:repeater>   protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)   
      {   
      if (e.Item.ItemType == ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem||e.Item.ItemType==ListItemType.EditItem)   
      {   
      DropDownList myDrop = e.Item.FindControl("ddl") as DropDownList;   
      }   
      }     protected void myDrop_SelectedIndexChanged(object sender,EventArgs e)   
      {   
      Response.Write(((DropDownList)sender).SelectedIndex.ToString());   
      }   
      

  5.   


    this.rep.DataSource = ...;//绑定Repeater
                this.rep.DataBind();
                for (int i = 0; i < this.rep.Items.Count; i++)
                    {
                        获得rep中的姓名
                        DropDownList drop = (DropDownList)this.rep.Items[i].FindControl("dropdownlist控件名");
                        drop.DataSource = ...//获得数据                       drop.DataValueField = "renName";
                        drop.DataTextField = "renName";
                        drop.DataBind();
                    }
      

  6.   

    有数据源直接绑定就行了啊,不然的话就循环的创建好项,让后循环的加进去用DropDownList.add()方法活着DropDownList.insert()方法
      

  7.   

    直接在repeater的ItemDataBound事件中用findControl找到dropdownlist绑定就可以了