Avatar billede lotze Nybegynder
23. januar 2005 - 11:21 Der er 4 kommentarer og
1 løsning

Positionering i webforms af f.eks. Div-bokse eller lign.

I windows forms kan man positionere hvor man vil placere de forskellige elementer på sin side.

eks: button1.Location = new System.Drawing.Point(8,53);

Dette kan man ikke i WebForms, da placeringen bliver givet på den tilhørende HTML side.

eks: <DIV id="DIV1" style="BORDER-RIGHT: thin solid; BORDER-TOP: thin solid; Z-INDEX: 102; LEFT: 256px; BORDER-LEFT: thin solid; WIDTH: 100px; BORDER-BOTTOM: thin solid; POSITION: absolute; TOP: 192px; HEIGHT: 100px"
                runat="server" ms_positioning="GridLayout"></DIV>

Hvordan positionere jeg elementer i Webforms, således at jeg kan via koden kan positionere mine elementer og undervejs ændre deres position. Som det er nu kan jeg kun placere dem på WebFormen og så ligger de der helt fast.
Avatar billede tknudsen Nybegynder
23. januar 2005 - 11:50 #1
Server-side kan du positionere elementer sådan her:

Element1.Id = "element1"
Element1.Style.Add("position", "absolute")
Element1.Style.Add("top", "100px")
Element1.Style.Add("left", "200px")

Client-side kan du ændre positionen sådan her:

<script>
  function setElementPosistion(obj, x, y)
  {
    obj.style.left = x;
    obj.style.top = y;
  }
</script>
<html>
  <body onload="setElementPosition(document.getElementById('element1'), 200, 300)">
  </body>
</html>
Avatar billede lotze Nybegynder
23. januar 2005 - 12:16 #2
Fedt
Avatar billede burningice Nybegynder
23. januar 2005 - 13:03 #3
min mening er at det er dårlig praksis at bruge posistion:absolute til at placere alle sine elementer. Ens side vil ikke kunne skalere til forskellige opløsninger, og ja... det er ofte et udtryk for en hovsa-løsning fordi man ikke har styr på tabeller.
Avatar billede lotze Nybegynder
23. januar 2005 - 15:47 #4
Ok. Jeg skal laver et bookingsystem til et lydproduktionsselskab med 4 lydstudier.
Jeg har eksperimenteret lidt med Datagrid til at indeholde de enkelte bookinger. Når en lang bookingen optræder (mere end en ½ time, da hver datagrid element repræsentere en ½ time), da ekspandere jeg de enkelte felter i datagrided med rowspan. Jeg syntes det bliver for besværligt og muligehederne for at gengive data i datagrided og lave funktionalitet inden i datagrid boksen er for dårlige.

Istedet vil jeg lave et system med Div bokse der optræder når en booking bliver oprettet, da der i div boksene er der flere muligheder.

Hvis du har en kommentar eller nogle gode links så fyr dem af.

mvh Henrik
Avatar billede burningice Nybegynder
24. januar 2005 - 12:01 #5
jeg ville bruge en repeater til sådan et formål. jeg vil give dig helt ret i at datagrid er meget besværlig at arbejde med, og jeg bruger den heller aldrig selv.

En repeater giver en fuld kontrol over hvordan tingene skal renderes, da den ikke outputter noget uden du har givet den besked om det.
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