0

リピーター内にドロップダウンリストを作成しています (DropDownList にはデータベースからの値が入力されています)

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        try
        {
            if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
            {
                string idAdvert = objAdvert.GetAllIlanPage(ClsSession.idUser, null).Rows[i]["ID_ADVERT"].ToString();
                DropDownList DDL = (DropDownList)e.Item.FindControl("DropDownList1");
                DDL.Items.Add("");
                DDL.Items.Add(new ListItem("Doping", idAdvert));
                DDL.Items.Add(new ListItem("İşlem", idAdvert));
                DDL.SelectedIndex = 0;
                i = i + 1;

            }
        }

動作していますが、ドロップダウンリストをクリックすると、selectedindexchanged が動作しません。常に selectedIndex=1 を送信します

 protected void SelectedIndex_Degisti(object sender, EventArgs e)
    {
        //DropDownList ddl = sender as DropDownList;
        //DropDownList doldurulacak_ddl = (DropDownList)ddl.Parent.FindControl("DropDownList1"); 
        ////Aynı satırdaki doldurulacak diğer droplisti bulduk.

        Control parent = ((Control)sender).Parent;
        DropDownList GeneralDDL = (DropDownList)parent.FindControl("DropDownList1");

        if (GeneralDDL.SelectedItem.Text == "Doping") ;//Response.Redirect("default.aspx");
        else if (GeneralDDL.SelectedItem.Text == "İşlem") ;// Response.Redirect("login.aspx");
    }
4

1 に答える 1

0

Repeater にコントロールを動的に追加しているため、 PostBack ごとにこれらを再度追加していることを確認する必要があります。これにより、from 値をユーザーが選択した値に設定できます。

Repeater.DataBind()通話をOnInit()イベントに移動してみてください。

于 2013-04-24T17:14:56.143 に答える