Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Dinamičko (runtime) kreiranje kontrola na stranici

[es] :: .NET :: ASP.NET :: Dinamičko (runtime) kreiranje kontrola na stranici

[ Pregleda: 2076 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Orca84
Milan Sreckovic
Belgrade

Član broj: 56560
Poruke: 96
*.dynamic.isp.telekom.rs.

ICQ: 41980895


+1 Profil

icon Dinamičko (runtime) kreiranje kontrola na stranici05.04.2014. u 08:44 - pre 122 meseci
Pozdrav dragi prijatelji,

Imam problem koji vec par dana ne mogu da prevaziđem.

Naime, muči me dinamičko kreiranje kontrola na stranici. Izvedba treba da bude ASP.NET VB. Manje više mi je jasno kako se to radi u VB.NET Desktop aplikaciji, ali ovde jednostavno ne funkcioniše tako.
Da bih što bolje objasnio šta mi treba, napisaću psudo-kod
Code:

for i = 1 to 10
     dodaj radiobutton Stavka1(i)
       Stavka1(i).group = i
     dodaj radiobutton Stavka2(i)
       Stavka2(i).group = i
     dodaj radiobutton Stavka3(i)
       Stavka3(i).group = i
     dodaj radiobutton Stavka4(i)
       Stavka4(i).group = i
next


Da li se ovo radi u Page_Load ili Page_Init?

Nakon ovoga, trebalo bi na neki način da u određenom trenutku povučem vrednosti iz kreiranih kontrola.
Uz sve to, trebao bi mi i Event za svaki radiobutton za klik na njega.


Veliko hvala i pozdrav

Comfortably Numb
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Dinamičko (runtime) kreiranje kontrola na stranici05.04.2014. u 08:53 - pre 122 meseci
Možeš i u Load-u i u Init-u, radiće u oba slučaja mada što pre (init), to bolje.
Kreiranje dinamičkih kontrola radiš uvek, dakle i na prvo učitavanje i na postback.
Nemoj da zaboraviš da postaviš ID svakoj kontroli da bi sve funkcionisalo kako treba.
Takođe je bitan i redosled radnji, mislim da bi ID trebalo dodeliti pre dodavanja u parent-a (ili obratno, davno sam radio ovo).

Ako sve uradiš kako treba, kontrole će dobijati i vrednosti i fire-ovati evente
kao da se radi o najnormalnije kreiranim kontrolama kroz aspx ili ascx.

 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+837 Profil

icon Re: Dinamičko (runtime) kreiranje kontrola na stranici05.04.2014. u 11:26 - pre 122 meseci
Takodje, slucaj koji si opisao mozes elegantno da resis koristeci Repeater kontrolu.

<asp:Repeater runat="server">
<ItemTemplate>
.....
</ItemTemplate>
</asp:Repeater>
 
Odgovor na temu

Orca84
Milan Sreckovic
Belgrade

Član broj: 56560
Poruke: 96
*.dynamic.isp.telekom.rs.

ICQ: 41980895


+1 Profil

icon Re: Dinamičko (runtime) kreiranje kontrola na stranici05.04.2014. u 12:33 - pre 122 meseci
Ok, repeater mi i jos vise odgovara jer moram da ponovim User Control (ascx).
Ali i dalje mi ostaje problem kako da pokupim vrednosti iz njih, i kako njima da prosledim parametre iz koda.
Comfortably Numb
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+837 Profil

icon Re: Dinamičko (runtime) kreiranje kontrola na stranici05.04.2014. u 13:07 - pre 122 meseci
Imas puno nacina, npr. napuni neku listu, pa bind-uj repeater.

List<tvojObjekat> tvojaLista = new List<tvojObjekat>()
...
...pumpaj listu
...
tvojRepeater.Datasource = tvojaLista;
tvojRepeater.DataBind();

Posle u aspx-u koristi Eval("poljeIz_tvojObjekat")...

Ah da, vrednosti iz njih kupis na neki UI event i prosledis na server side(code behind).
 
Odgovor na temu

Orca84
Milan Sreckovic
Belgrade

Član broj: 56560
Poruke: 96
*.amres.ac.rs.

ICQ: 41980895


+1 Profil

icon Re: Dinamičko (runtime) kreiranje kontrola na stranici08.04.2014. u 08:55 - pre 122 meseci
Jos uvek mi nije uspelo.

Bojim se da mi treba malo razjasnjenje punjenja liste.
Predpostavimo da se moja kontrola zove <Stavka>. Kazimo jos i da <stavka> ima svojstva <tekst1> i <tekst2>.

Dakle, kako da napravim listu od n Stavki, i da svakoj stavci zadam pripadajuce tekstove.
Posle toga, cela lista treba da zavrsi u Repeater-u.

P.S.
Pomoglo bi mi i da znam kako tacno da deklarisem stavku, ako se ona povlaci iz Stavka.ascx.

Hvala puno na dosadasnjoj pomoci.
Comfortably Numb
 
Odgovor na temu

dejanet
Beograd

Član broj: 19240
Poruke: 1181



+837 Profil

icon Re: Dinamičko (runtime) kreiranje kontrola na stranici08.04.2014. u 11:18 - pre 122 meseci
Trebalo bi da setujes data listu, a ne listu user kontrola.

Bindujes Repeater sa data listom, na samoj stranici dodeljujes vrednosti asp kontroli(npr radio button) i tvojoj user control.

Ako je potrebno, User kontrolama, mozes da prosledis data preko parametara, koje definises u User Control.

Code:
public class TvojaDataClass
{
    public string Tekst1{ get; set; }
    public string Tekst2{ get; set; }
}
...
...
protected void Page_Load(object sender, EventArgs e)
{
        if (!IsPostBack)
        {
        BindRepeater();
    }
}

private void BindRepeater()
{
    List<TvojaDataClass> tvojaLista = new List<TvojaDataClass>();
    
    TvojaDataClass stavka = new TvojaDataClass();
    stavka.Tekst1="name 1";
    stavka.Tekst2="name 2";
    tvojaLista.Add(stavka );
    //... resis petljom ili prosledis listu iz db-a

    tvojRepeater.Datasource = tvojaLista;
     tvojRepeater.DataBind();
}
 
Odgovor na temu

[es] :: .NET :: ASP.NET :: Dinamičko (runtime) kreiranje kontrola na stranici

[ Pregleda: 2076 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.