Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[ASP.NET2.0/C#05]DropDownList waarde uitlezen vanuit DataLis

Pagina: 1
Acties:

  • Razr
  • Registratie: September 2005
  • Niet online
Ik heb een op een pagina een DataList met daaraan een DataSource en binnen elke 'item' zit een DropDownList. Deze is ook weer gebonden aan een (andere) DataSource. Nu zit er ook een Label onder deze DropDownList, en ik ik wil dus dat wanneer er een waarde wordt geselecteerd deze in het label komt te staan.

Nu heb ik echt al 4 uur pogingen gewaagd en oplossing gezocht en gepoogd te gebruiken, en ik zie nu echt door de bomen het bos niet meer.

Ik heb heb dingen geprobeerd als:
C#:
1
2
3
4
5
6
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)DataList1.FindControl("DropDownList1");
    TextBox txt = (TextBox)DataList1.FindControl("ToelichtingLabel");
    txt.Text = ddl.SelectedValue;
}


Maar ik weet het ID ook niet omdat dit dynamisch is? Elke 'row' heeft immers een nieuwe drowdownlist? Het probleem is nu dat ik de droplist niet kan vinden/benaderen en dus de geselecteerde waarde niet aan de label kan koppelen.

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

Waarom werk je in dit geval met FindControl en werk je niet met de sender (da's een dropdownlist die het event fired) en pak je vervolgens de parent van de sender en laat hier de findcontrol op los?

Iets als:
Visual Basic .NET:
1
2
3
Dim ddlControl as ListControl = Directcast(sender, ListControl)
If ddlControl.SelectedItem Is Nothing then Exit Sub
Directcast(ddlControl.Parent.FindControl("ToelichtingLabel"),ITextControl).Text = ddlControl.SelectedItem.Value

En inderdaad gaat jouw code niet werken; je zoekt de control namelijk niet in de datalist, maar in een specifieke rij in een datalist. Mijn code omzeilt dat probleem.

[ Voor 55% gewijzigd door gorgi_19 op 27-07-2007 07:58 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • barfieldmv
  • Registratie: Maart 2004
  • Laatst online: 10-10 12:36
Razr schreef op donderdag 26 juli 2007 @ 23:14:
Ik heb een op een pagina een DataList met daaraan een DataSource en binnen elke 'item' zit een DropDownList. Deze is ook weer gebonden aan een (andere) DataSource. Nu zit er ook een Label onder deze DropDownList, en ik ik wil dus dat wanneer er een waarde wordt geselecteerd deze in het label komt te staan.

Nu heb ik echt al 4 uur pogingen gewaagd en oplossing gezocht en gepoogd te gebruiken, en ik zie nu echt door de bomen het bos niet meer.

Ik heb heb dingen geprobeerd als:
C#:
1
2
3
4
5
6
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
    DropDownList ddl = (DropDownList)DataList1.FindControl("DropDownList1");
    TextBox txt = (TextBox)DataList1.FindControl("ToelichtingLabel");
    txt.Text = ddl.SelectedValue;
}


Maar ik weet het ID ook niet omdat dit dynamisch is? Elke 'row' heeft immers een nieuwe drowdownlist? Het probleem is nu dat ik de droplist niet kan vinden/benaderen en dus de geselecteerde waarde niet aan de label kan koppelen.
C#:
1
2
3
4
5
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
   ToelichtingsLabel.text = DropDownlist1.SelectedItem.ToString();
   ToelichtingsLabel.text = DropDownlist1.SelectedValue.ToString();
}

Een van de twee zou moeten werken.

  • gorgi_19
  • Registratie: Mei 2002
  • Nu online

gorgi_19

Kruimeltjes zijn weer op :9

barfieldmv schreef op vrijdag 27 juli 2007 @ 08:00:
[...]


C#:
1
2
3
4
5
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
   ToelichtingsLabel.text = DropDownlist1.SelectedItem.ToString();
   ToelichtingsLabel.text = DropDownlist1.SelectedValue.ToString();
}

Een van de twee zou moeten werken.
Geen van 2; de eerste geeft als het goed is "ListItem" terug vanuit de dropdown en crashed. De tweede ook. De crashes zijn omdat de Label IN een datalist zijn

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • barfieldmv
  • Registratie: Maart 2004
  • Laatst online: 10-10 12:36
gorgi_19 schreef op vrijdag 27 juli 2007 @ 08:04:
[...]

Geen van 2; de eerste geeft als het goed is "ListItem" terug vanuit de dropdown en crashed. De tweede ook. De crashes zijn omdat de Label IN een datalist zijn
Oh ja, datagrids (yuck).
Is er geen itemchanged event van de datagrid met row als sender en een cell ID erbij?