Avatar billede xfox Nybegynder
17. oktober 2005 - 11:00 Der er 9 kommentarer og
1 løsning

Dynamisk oprettelse af webcontrols

Når jeg søger på emnet finder jeg en masse svar på hvordan man opretter dynamiske controls via html. Kan man ikke gøre ved at bruge Visual basic?
Eks:

Dim billede as new webcontrols.image
controls.add(billede)
billede.left=100
webform1.controls.add(billede)

Denne kode har jeg med stor succes brugt i vb.net. Skulle den ikke også virke i ASP.net?
Avatar billede softspot Forsker
17. oktober 2005 - 12:25 #1
Umiddelbart ville jeg jo mene at det skal se således ud (jeg kan ikke helt gennemskue hvorfor du vil kalde controls.add?):

Dim billede as new webcontrols.image
billede.left = 100
page.controls.add(billede)
Avatar billede xfox Nybegynder
17. oktober 2005 - 13:23 #2
Problemet er bare at den ikke vil lade mig tildele f.eks en position til "billede". Den vil ikke tage imod en integerværdi. Kan ikke helt gennemskue hvorfor.
Jeg kan heller ikke add'e controllen til sidst. Kommer med fejlmeddelsen:"Reference to a non-shared member requires an object reference"
Avatar billede softspot Forsker
17. oktober 2005 - 13:42 #3
Jeg har prøve at lave et lille test webprojekt i VB.NET og smide denne kode i Page_Load-eventet:

Dim img As New WebControls.Image
img.Attributes("Left") = 200
Page.Controls.Add(img)

Det resulterede i at kontrollen blev smidt efter HTML-koden, hvilket jo ikke er optimalt. Derefter prøvede jeg (i designeren) at smide en PlaceHolder webkontrol (som jeg kaldte inForm) ind der hvor jeg gerne vil have billedet liggende og så smed jeg denne kode ind i Page_Load i stedet:

Dim img As New WebControls.Image
img.Attributes("Left") = 200
inForm.Controls.Add(img)

Det ser ud til at fungere f.s.v.a. at der kommer en kontrol. Placeringen bliver dog ikke taget alvorligt, men det hænger nok mere sammen med den måde som HTML fungerer på end VB.NET...

Håber du kan bruge min test til noget, ellers siger du jo nok til... :)
Avatar billede xfox Nybegynder
17. oktober 2005 - 14:08 #4
Jeg henter data fra en database med x,y på et antal poster. Derefter skal der så genereres x antal images, eller buttons på en bestemt placering. Derfor er der vigtigt at placeringen bliver præcis. Det er hele grundlaget for siden.
Det er skibe det handler om. Der ligger f.eks 10 skibe i databasen, med hver deres x,y koordinat. Skibene skal så optræde på formen med en præcis placering.
Jeg kan nemt lave det i VB, men ASP er åbenbart lidt anderledes...
Avatar billede xfox Nybegynder
17. oktober 2005 - 14:12 #5
I stedet for en Placeholder(Som jeg stadig ikke ved hvad er) har jeg brugt et panel. Og det fjerner fejlen fra sidste linie. Men at lave en image.width=100 kan jeg stadig ikke få til at virke.
Avatar billede softspot Forsker
17. oktober 2005 - 14:26 #6
Ja, hvis du vil placere noget på den måde i en browser, skal du bruge position:absolute;left:100px;top:200px;width:200px;height:300px (eksempelvis).

Jeg fik det til at fungere i VB.NET således:

Dim img As New WebControls.Image
img.Style.Add("position", "absolute")
img.Style.Add("left", "100px")
img.Style.Add("top", "200px")
inForm.Controls.Add(img)
Avatar billede xfox Nybegynder
17. oktober 2005 - 15:05 #7
Det løste problemet. Dog er det bare en anden opsætning af HTML.
Havde en HTML side med ASP der kunne klare opgaven, men ville gerne prøve ASP.NET og håbede jeg kunne lave det direkte med VB. Det lader dog ikke til at være muligt. Jeg takker for din tid. Kom med et svar og du får dine velfortjente point ;o)
Avatar billede softspot Forsker
17. oktober 2005 - 15:11 #8
Velbekomme :)

Fodnote: Det lyder usandsynligt at du ikke kan klare det med ASP.NET hvis du kan i ASP. Kan du evt. uddybe hvad det er du vil opnå/nå frem til...?

Problemstillingen i dette spørgsmål har jo været lidt "snæver" og derfor ikke rettet mod at løse den udfordring du snakker om der, men blot at kunne placere et billede i en bestemt position på siden.
Avatar billede xfox Nybegynder
17. oktober 2005 - 15:25 #9
Jeg ville gerne kode ren VB i stedet for at lave HTML kode. Det er sådan set det projektet handler om.
Avatar billede softspot Forsker
17. oktober 2005 - 16:50 #10
Ok, det opfattede jeg ikke ud fra dit oplæg, men hey! hvis du siger det, så er det nok rigtigt :)

Anyway! Du kan vel i princippet nedarve fra System.Web.UI.Page og kode alt det du vil uden at lave en eneste linie HTML... hvis du er energisk nok...
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