Forum » Programiranje » [ASP.NET] Dostop do dinamično kreiranih kontrol
[ASP.NET] Dostop do dinamično kreiranih kontrol
N-E-O ::
Sledeč problem (asp.net, c#)
Na strani dinamično kreiram nekaj textboxov. Torej naredim for zanko v kateri kreiram nekaj TextBox objektov in vsakemu določim lasten ID. Po kliku na gumb skrijem Panel s kreiranimi textboxi in v prikažem drugi panel, v katerem želim pridobiti besedilo, ki se nahaja v vsakem od teh textboxov (torej textbox.Text).
Textboxe sem po kreiranju shranil v Session in jih po kliku na gumb dobil nazaj. Očitno pa je, da so textbox.Text stringi prazni. Kar je po svoje logično, ker sem textboxe shranil v Session, uporabnik pa je kasneje vnesel neki tekst.
Kako bi lahko torej prišel do besedil v textboxih?
S statično kreiranimi kontrolami je to zelo enostavno, z dinamičnim kreiranjem pa sem se prvič srečal (potrebujem ga, ker ne vem vnaprej potrebnega števila kontrol).
Hvala za predloge.
Na strani dinamično kreiram nekaj textboxov. Torej naredim for zanko v kateri kreiram nekaj TextBox objektov in vsakemu določim lasten ID. Po kliku na gumb skrijem Panel s kreiranimi textboxi in v prikažem drugi panel, v katerem želim pridobiti besedilo, ki se nahaja v vsakem od teh textboxov (torej textbox.Text).
Textboxe sem po kreiranju shranil v Session in jih po kliku na gumb dobil nazaj. Očitno pa je, da so textbox.Text stringi prazni. Kar je po svoje logično, ker sem textboxe shranil v Session, uporabnik pa je kasneje vnesel neki tekst.
Kako bi lahko torej prišel do besedil v textboxih?
S statično kreiranimi kontrolami je to zelo enostavno, z dinamičnim kreiranjem pa sem se prvič srečal (potrebujem ga, ker ne vem vnaprej potrebnega števila kontrol).
Hvala za predloge.
Follow the white rabbit.
DubleG ::
Če te razumem potem čisto enostavno, kliku na gumb dodaj event:
Button button = new Button();
string poslji = nova.Text + "||" + nova2.Text;
button.CommandArgument = poslji;
button.Click += new EventHandler(a_Click);
Event pa MORA izgledati tako(glede parametrov):
void a_Click(object sender, EventArgs e)
{
string b = ((Button)sender).CommandArgument;
}
Button button = new Button();
string poslji = nova.Text + "||" + nova2.Text;
button.CommandArgument = poslji;
button.Click += new EventHandler(a_Click);
Event pa MORA izgledati tako(glede parametrov):
void a_Click(object sender, EventArgs e)
{
string b = ((Button)sender).CommandArgument;
}
GA-P55M-UD2,i5,12GB RAM,Radeon HD 4850,Crucial SSD 64GB,
WD 320GB,WD 5000GB,RevoDrive X2 100GB
WD 320GB,WD 5000GB,RevoDrive X2 100GB
N-E-O ::
string poslji = nova.Text + "||" + nova2.Text;
Ko se to izvede, je property Text še prazen string (če z objektom nova misliš textboxe).
Follow the white rabbit.
DubleG ::
Kako je prazen? Kaj pa potem prenašaš na drugi panel?
GA-P55M-UD2,i5,12GB RAM,Radeon HD 4850,Crucial SSD 64GB,
WD 320GB,WD 5000GB,RevoDrive X2 100GB
WD 320GB,WD 5000GB,RevoDrive X2 100GB
N-E-O ::
Problem je verjetno v tem, da textboxe shranim v Session še preden pridobijo lastnost .Text.
Zdaj poskušam malo kombiniranja z javascript - da bi se ob kliku na gumb nekako določila ta lastnost textboxu na klientovi strani nato pa na serverju dalje sprocesirala.
Zdaj poskušam malo kombiniranja z javascript - da bi se ob kliku na gumb nekako določila ta lastnost textboxu na klientovi strani nato pa na serverju dalje sprocesirala.
Follow the white rabbit.
KalEl ::
Poglej si malo življenski cikel strani. ti bodo prišle še kako prav. Drugače pa je v .NET-u pravilo SILVER-U (Start Initialize Load ViewState Events Render Unload) :)
Sem ti pripravil en primer, kako lahko npr. 2 textbox-a dinamično dodaš, skriješ panel in v drugem prikažeš vnešene vrednosti.
Povezava do primera.
Malo si poglej pa ti bo takoj jasno (pa debug-aj vmes pa boš videl, kaj se točno zgodi, v katerem trenutku) - naredil sem primer v VS 2010, upam, da to ni primer, lahko ti pa tudi posnamem primer, kako to deluje.
Sem ti pripravil en primer, kako lahko npr. 2 textbox-a dinamično dodaš, skriješ panel in v drugem prikažeš vnešene vrednosti.
Povezava do primera.
Malo si poglej pa ti bo takoj jasno (pa debug-aj vmes pa boš videl, kaj se točno zgodi, v katerem trenutku) - naredil sem primer v VS 2010, upam, da to ni primer, lahko ti pa tudi posnamem primer, kako to deluje.
DubleG ::
Daj razloži to pravilo... Ga ne razumem čisto.
GA-P55M-UD2,i5,12GB RAM,Radeon HD 4850,Crucial SSD 64GB,
WD 320GB,WD 5000GB,RevoDrive X2 100GB
WD 320GB,WD 5000GB,RevoDrive X2 100GB
N-E-O ::
Hvala, si bom pogledal, ko bom imel čas.
Drugače pa sem zdaj že rešil problem na drugačen način. Po kliku na gumb se mi najprej proži javascript funkcija, ki mi v cookie shrani vrednosti in tako s pomočjo cookija dobim vrednosti na server side kodi. Kakorkoli, zadeva deluje.
Drugače pa sem zdaj že rešil problem na drugačen način. Po kliku na gumb se mi najprej proži javascript funkcija, ki mi v cookie shrani vrednosti in tako s pomočjo cookija dobim vrednosti na server side kodi. Kakorkoli, zadeva deluje.
Follow the white rabbit.
KalEl ::
Daj razloži to pravilo... Ga ne razumem čisto.
Pravilo je, da si lahko z besedo SILVER-U na enostaven način zapomniš vrstni red glavnih event-ov, ki se zgodijo v ASP.NET procesu (vmes med temi eventi jih je še kar en kup).
Torej, ko začne izvajati stopnje na page-u, do mere, ko sproducira HTML, ki ga pljune ven klientu.
Lp,
B.
B.
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [ASP.NET] Prenos podatkov iz ene spletne strani v drugoOddelek: Programiranje | 940 (799) | Cvenemir |
» | C#, TextBox in PopUp formaOddelek: Programiranje | 1103 (997) | MarCar |
» | C# iz form2 v form1,textboxiOddelek: Programiranje | 1944 (1570) | Keki |
» | [ ASP.NET ] Vprašanje glede podajanja parametrovOddelek: Programiranje | 1567 (1298) | salesky |
» | C#, Dodajanje podatkov v Arraylist z GumbomOddelek: Programiranje | 2282 (2121) | Beezgetz |