Avatar billede mickni33 Nybegynder
01. maj 2007 - 15:30 Der er 11 kommentarer og
1 løsning

dynamisk oprettelse af labels

jeg er totaaal nybegynder i ASP.NET, men kan dog alle mulig andre sprog:-)

hvordan koder jeg dette  hvis det skal være dynamisk og jeg ikke lige ved om der kommer 2 eller 3 labels med Group 1, Group 2 og Group 3
--------------------------------------------------
<asp:label id="Group1" runat="server" />
<asp:Button id="refresh" onclick="Button1_Click" runat="server" Text="Get notifications" />


---------------------------------------------------------
public void Button1_Click(object sender, EventArgs e) {
        Group1.Text=web.getAnalyzerGroupName();
    }
Avatar billede neoman Novice
01. maj 2007 - 16:05 #1
Du skal fra værktøjskassen trække en asp:Placeholder ind på din ASPX side  (fordi systemet skal jo vide hvor dine labels skal placeres.

Derpå kan du bruge (dette her er skrevet i VB), og gentage det antal gange du behøver.
myLabel = New Label
myLabel.ID = "whatever" - dette whatever skal være det samme fra gang til gang for den samme Label, ellers kan der gå ged når den henter gamle værdier fra  ViewState
myLabel.text="more whatever"
Placeholder1.Controls.add(myLabel)

Hvis du ikke kan lide placeholderen, så kan du dynamisk lave en tabel, og så tilføje det ønskede antal Labels ind i cellerne på den.

Husk lige at dynamiske kontroller lever kun så længe som siden selv, og det vil sige at efter hver postback skal du igen danne dine kontroller.
Avatar billede mickni33 Nybegynder
01. maj 2007 - 16:36 #2
hmmm ok..
Det er altså ikke ligesom i ASP hvor man bare skriver HTML kode i sin Response.write
Avatar billede neoman Novice
01. maj 2007 - 16:42 #3
Du kan sikkert nok gøre noget lignende, men det er at smide barnet ud med badevandet.
Med .NET får du gratis en hel masse ting som man ellers skulle kode i normal ASP. Først og fremmest ViewState - hvor systemet husker alle kontrollernes status og indhold efter  postback (lige på nær de dynamiske altså)
Avatar billede neoman Novice
01. maj 2007 - 16:49 #4
Den husker status på de dynamiske kontroller også, blot ikke kontrollerne selv.
Avatar billede mickni33 Nybegynder
01. maj 2007 - 18:40 #5
hva nu hvis man ikke ved hvor mange placeholders man skal bruge til sin data:
nogle gange kan der være 3  stk Group andre gange 7...

<asp:PlaceHolder ID="AGroup" runat="server"></asp:PlaceHolder>
<asp:PlaceHolder ID="AGroup2" runat="server"></asp:PlaceHolder>
osv osv
Avatar billede neoman Novice
01. maj 2007 - 18:44 #6
Du behøver kun een placeholder - og så kan du f.eks. lægge et <BR/> efter hver label som du tilføjer  for ellers kommer de bare i rad. Se indlægget 16:05:57
Avatar billede neoman Novice
01. maj 2007 - 18:51 #7
her er een som lavede noget tilsvarende http://www.eksperten.dk/spm/713854
Avatar billede mickni33 Nybegynder
01. maj 2007 - 19:24 #8
aahhhh ok det lyder sku smart...hvis det er sådan som jeg tror det er...kigger lige på link
husk at ligge svar
Avatar billede neoman Novice
01. maj 2007 - 20:18 #9
svar:)
Avatar billede neoman Novice
01. maj 2007 - 20:19 #10
om igen  - svar
Avatar billede mickni33 Nybegynder
02. maj 2007 - 08:59 #11
jeg er helt rystet :-) det er edermamer smart det der...
Jeg henter en linkedList og lader en while løkke køre lige så længe der er elementer i
Herefter smider jeg et element ind i min placeholder..

-------------------------------------------------------------------
<asp:PlaceHolder ID="myPlaceholder" runat="server"></asp:PlaceHolder>

--------------------------------------------------------------------

linkedlist=web.getLinkedList();
        int len=linkedlist.Count;
        int c=0;

        while(c<len) {
            Label mylabel=new Label();
            string str=linkedlist.First.Value;
            mylabel.Text=str;
            myPlaceholder.Controls.Add(txt);
            linkedlist.RemoveFirst();
            c++;
        }
Avatar billede mickni33 Nybegynder
02. maj 2007 - 09:00 #12
myPlaceholder.Controls.Add(myLabel);
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