» »

Dinamično dodajanje kontrol na panel ob kliku na gumb v ASP.NET

Dinamično dodajanje kontrol na panel ob kliku na gumb v ASP.NET

brinovcek ::

Hej, imam problem pri katerem ne morem rešiti uganke dinamičnega dodajanja dropdown listov na panel v asp.net aplikaciji. Ko pidem do neke doloćene funkcionalnosti, z gumbom želim potrditi neko izbiro in se naj bi nato na vmesnik pojavil dropdown list z neki izbirami. Ko uporabnik izbere pravilen odgovor se po potrditvi gumba na zaslonu pod dropdown list pojavi nov kontrolnik in stvar se ponavlja vse dokler ne pridemo do nekega končnega koraka. Gre pa nek spletni kviz.
Moja funkcija za generiranje spustnega seznama:
...
private void naloziKontrolo()
{

if (Session["korak"] == null)
Session["korak"] = 1;

/*inicializiramo novo kontrolo */
downList = new DropDownList();
downList.ID = Session["korak"].ToString();

/*Oznaka*/
Label label = new Label();
label.ID = Session["korak"].ToString() + ".korak";
label.Text = label.ID.ToString() + ": ";

/* oblika okvirja*/
label.BorderColor = Color.Black;
label.BorderStyle = BorderStyle.Solid;
label.BorderWidth = 1;
/* dodamo na panel */
Panel2.Controls.Add(downList);
//povečamo števec korakov
Session["korak"] =((int.Parse(Session["korak"].ToString()))+1).ToString();

}
/* gumb za potrditev izbire ki ga uporabljam za prožitev funkcije naloziKontrolo()*/
protected void Button3_Click(object sender, EventArgs e)
{

// Button3.Text = ViewState["korak"].ToString();
if (Session["korak"]==null)
{
Session["korak"] = 1;
}
naloziKorak();
}
Funkcija mi naredi naslednje: na vmesniku mi pokaže dropdown list in label, ki izpiše korak, vendar se nato samo spreminja tekst labla, kar pani v redu ...

Trenutni izgled vmesnika z zgornjo funkcijo:
 Trenutni vmesnik

Trenutni vmesnik


Na sliki se lepo vidi da je korak št 9, kar pomeni, da bi moglo biti na zaslonu 9 labels in dropdown listov.
Željeni končni produkt:
 Končna app

Končna app



Koraki se generirajo glede na začetne podatke.


Prosim če mi zna kdo pomagat.

LeQuack ::

Objekt downList je nekje definiran, tako da vse kar narediš ti je, da narediš novo instanco, še vedno pa se sklicuješ na en objekt. Bolj pravilno bi bilo:
DropDownList downListNew = new DropDownList();


Seveda moraš nekje najbrž tudi definirati, kje bo ta dropdown pozicioniran na panelu.
Quack !

Zgodovina sprememb…

  • spremenil: LeQuack ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

ASP.NET (C#) - Pomoč

Oddelek: Izdelava spletišč
131131 (908) Denisj
»

Baza & c#

Oddelek: Programiranje
214175 (3233) xardas
»

Dropdown list vrača izbrano vrednost null

Oddelek: Programiranje
6929 (821) brinovcek
»

[ ASP.NET ] Vprašanje glede podajanja parametrov

Oddelek: Programiranje
151575 (1306) salesky
»

[ASP.NET] problem

Oddelek: Izdelava spletišč
382183 (1833) Microsoft

Več podobnih tem