Avatar billede Lars Søndergaard Nybegynder
29. september 2005 - 14:26 Der er 1 kommentar og
1 løsning

DropDownListe får samme SelectedValue :o(

jeg har 3 stk DropDownLists som er oprettet på min aspx side.

dd1, dd2, dd3  med en reference i min aspx.cs side:

protected DropDownList dd1;
protected DropDownList dd2;
protected DropDownList dd3;

Her er et eksempel på koden:

public void GetTemplate(object sender, System.EventArgs e)
{
  ReloadDD();
  DataTable dt_listfields = this.GetListFields(list_id);
 
  for(int i=0; i<dt_listfields.Rows.Count; i++)
  {
  int count = i+1;
  DropDownList dd_temp    = (DropDownList) Page.FindControl("dd_field" + count);
  string field_value        = dt_listfields.Rows[i]["field_value"].ToString();
  dd_temp.SelectedValue    = field_value;
  Response.Write(dd_temp.SelectedValue);
  }
}

private void ReloadDD()
{
DataTable dt_test = this.GetDataTable();

foreach(DataRowView row in dt_test.DefaultView)
{
  dd1.Items.Clear():
  dd2.Items.Clear():
  dd3Items.Clear():

  string xxx = row["xxx"].Tostring();
  string yyy = row["yyy"].Tostring();

  ListItem item = new ListItem(xxx,yyy);
  dd1.Items.Add(item);
  dd2.Items.Add(item);
  dd3.Items.Add(item);
}
}

Når jeg kører GetTemplate metoden får mine tre DropDownLists den samme SelectedValue, og hver gang er det den sidste værdi af dd_temp.SelectedValue. Min Response.Write udskriver i midlertid den rigtige værdi.

Hvis jeg ikke kører metoden ReloadDD() er der ingen problemer!!

Hvorfor får mine DD's samme SelectedValue ?
Avatar billede Lars Søndergaard Nybegynder
29. september 2005 - 14:28 #1
følgende:

dd1.Items.Clear():
dd2.Items.Clear():
dd3Items.Clear():

køres naturligvis uden for min foreach... :)
Avatar billede Lars Søndergaard Nybegynder
29. september 2005 - 15:52 #2
har selv fundet ud af det:

de har reference til sammen item object..

ListItem item = new ListItem(xxx,yyy);
  dd1.Items.Add(item);
  dd2.Items.Add(item);
  dd3.Items.Add(item);
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester