Toon posts:

[.NET] - Meerdere pagina's m.b.v. panels

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben al een paar uur bezig om in VS en een ASPX-pagina ervoor te zorgen dat het resultaat op meerdere pagina's staat.

Zoeken op internet leverde me op dat ik kan kiezen uit het gebruik van Panels of het plaatsen van de verschillende pagina's in verschillende bestanden. Ik wilde voor de eerste optie kiezen; in dit geval hide je alle panels behalve de panel die je wilt zien.

Ik plaatste twee testpagina's in twee panels (die onder Web Forms vallen). Probleem hier is dat je hiervan de positie niet runtime kunt veranderen en als je ze over elkaar heen probeert te zetten bij het ontwerpen, dit ook niet werkt, aangezien ze dan aan elkaar toegevoegd worden.

Met HTML-panels werken wilde ook niet, aangezien ik dan de panels niet kan hiden, omdat ze geen naam hebben.

Het klinkt o zo simpel, maar het wil echt niet. Het werkt nu wel, maar de 2e pagina begint niet helemaal linksbovenin, aangezien in het design ik ze dus niet over elkaar heen kan zetten.

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 27-04 18:17

gorgi_19

Kruimeltjes zijn weer op :9

De editor voor VS.Net is niet fijn voor dit soort dingen; je zal het toch zelf in de code moeten doen.

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
wat is je vraag ?

Verwijderd

Topicstarter
Ik had meerdere panels gemaakt in de designview van VS, maar het is dan niet mogelijk om deze over elkaar heen te zetten. Hierdoor zag het resultaat er niet uit, aangezien de 'pagina' dan niet netjes linksbovenin begint (bv. de 2e pagina niet meer).

Het was dus simpel, zoals Gorgi aangeeft. Gewoon even de html-code aanpassen... 8)7 |:(

  • joopst
  • Registratie: Maart 2005
  • Laatst online: 01-10-2024
ah ok :)

ik ben ook geen vrienden met de designer 8) wel fijn te horen dat het is gelukt

Verwijderd

Topicstarter
Het is nu wel irritant. Tijdens design kan ik de panels niet overmekaar heen leggen, ik moet daarom als het design klaar is in de HTML-code de positie handmatig wijzigen.

Ik heb het idee dat hier ook wel andere oplossingen voor zijn, misschien nog een tip? Ik ben toch niet de enige met dit probleem...

  • Folkert
  • Registratie: September 2001
  • Laatst online: 18:00
Plaats je de panels in de Designer met het grid aan? Dan wordt elke control middels style properties geplaatst op de pagina. Als je de pagina op flow zet heb je dit niet. Geef je panels een css class mee en definieer in je stylesheet waar je panels(div's) worden geplaatst...

Verwijderd

Topicstarter
@Folkert: Ik gebruik idd het grid (standaardinstelling). Ik zal hier even naar kijken, bedankt!

Verwijderd

Topicstarter
Ik heb de volgende css aangemaakt:

code:
1
2
3
4
5
6
panel
{
position:absolute;
left:0px;
top:0px;
}


En de panel als class-name panel gegeven:
code:
1
2
<asp:panel id="Panel1" style="Z-INDEX: 105; LEFT: 664px; POSITION: absolute; TOP: 72px" runat="server"
                Width="272px" CssClass="panel">


Als ik daar de style weghaal, wordt de panel gewoon linksbovenin de designer gezet, daar heb ik dus niets aan, omdat dan alle panels over elkaar heen liggen. Wat doe ik fout?

  • Folkert
  • Registratie: September 2001
  • Laatst online: 18:00
Verwijderd schreef op vrijdag 16 september 2005 @ 15:55:
Ik heb de volgende css aangemaakt:

code:
1
2
3
4
5
6
panel
{
position:absolute;
left:0px;
top:0px;
}


En de panel als class-name panel gegeven:
code:
1
2
<asp:panel id="Panel1" style="Z-INDEX: 105; LEFT: 664px; POSITION: absolute; TOP: 72px" runat="server"
                Width="272px" CssClass="panel">


Als ik daar de style weghaal, wordt de panel gewoon linksbovenin de designer gezet, daar heb ik dus niets aan, omdat dan alle panels over elkaar heen liggen. Wat doe ik fout?
Ik weet niet waar jij je panels wilt plaatsen maar in je stylesheet heb je een andere lokatie staan dan in je paneldefinitie... ik zou iig je style definitie van je panel gewoon weghalen. Ik nam aan dat alle panels op dezelfde lokatie moeten komen. Je kan toch per postback bepalen welk panel zichtbaar moet worden en waar deze wordt geplaatst?

Verwijderd

Topicstarter
In de designview heb ik nu de panels onder elkaar gezet en nu gaat het goed. In de browser bepaal ik per buttonclick welke gehide en geshowed moeten worden en dan komen ze netjes bovenin :).

Die .css is volgens mij niet eens nodig dan.

/Edit: nee, is niet nodig. Thanx anyways! Door die flowlayout werkt het nu :)

[ Voor 15% gewijzigd door Verwijderd op 16-09-2005 16:15 ]


  • Folkert
  • Registratie: September 2001
  • Laatst online: 18:00
de css zou je nodig hebben indien je panels ergens zou willen plaatsen maar als ze links bovenin komen dan heb je ze niet nodig. Fijn dat het werkt! :) Door de Grid layout kun je in de desinger makkelijk elementen plaatsen waar je ze zou willen. Het enige wat gebeurt is dat je controls een style definitie meekrijgen om deze daadwerkelijk op deze lokatie neer te kunnen zetten. Ik maak zelf nooit gebruik van de Gridlayout... opmaak in css is het beste.

[ Voor 51% gewijzigd door Folkert op 16-09-2005 16:30 ]


Verwijderd

Verwijderd schreef op vrijdag 16 september 2005 @ 15:55:
En de panel als class-name panel gegeven:
code:
1
2
3
4
5
6
7
8
9
10
11
12
<asp:panel id="Panel1" style="Z-INDEX: 105; LEFT: 100px; POSITION: absolute; TOP: 72px" 
runat="server" Width="272px" CssClass="panel">
  ...
</asp:panel>
<asp:panel id="Panel2" style="Z-INDEX: 105; LEFT: 100px; POSITION: absolute; TOP: 272px" 
runat="server" Width="272px" CssClass="panel">
  ...
</asp:panel>
<asp:panel id="Panel3" style="Z-INDEX: 105; LEFT: 100px; POSITION: absolute; TOP: 472px" 
runat="server" Width="272px" CssClass="panel">
  ...
</asp:panel>


Als ik daar de style weghaal, wordt de panel gewoon linksbovenin de designer gezet, daar heb ik dus niets aan, omdat dan alle panels over elkaar heen liggen. Wat doe ik fout?
Als je aan het designen bent, dan is het wel handig dat je enige visuele indicatie hebt.

In codebehind kun je de positie @runtime veranderen. bijvoorbeeld...
Panel1.Style("LEFT") = "0px"
Panel1.Style("TOP") = "0px"
Panel1.Visible = True

Panel2.Style.Add("LEFT") = "0px"
Panel2.Style.Add("TOP") = "0px"
Panel2.Visible = True

Panel3.Style.Item("LEFT") = "0px"
Panel3.Style.Item("TOP") = "0px"
Panel3.Visible = True

Dit zou moeten werken. Kan het hier zo ff niet testen.

[ Voor 49% gewijzigd door Verwijderd op 16-09-2005 22:24 . Reden: typo ]

Pagina: 1