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"
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... :)
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...
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.
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)
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)
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.
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...
Synes godt om
Ny brugerNybegynder
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.