28. april 2004 - 10:36Der er
18 kommentarer og 2 løsninger
opbygning af asp.net side
Jeg skal til at lave et site med en menu i toppen en fast bund og en fast tabel i venstre side. det eneste på sitet der ændre meget indhold er det der er i midten.
Jeg havde så tænkt mig at lave en fast side med det faste indhold, også lave alle de sider der skal vises i midten som user controlles. Dvs. når man vælger en side i menu'en vise der bare en anden usercontrol.
Er det en god måde at lave et site på? er der evt. nogle ulemper ved der?
Det er en udemærket måde... :) Der er vist ikke så meget at sige. Bruger selv denne måde at opbygge sites på og har ikke umiddelbart stødt nogle problemer.
nej.. altså.. jeg har en fast side hvorpå jeg placerer en usercontrol. Alt efter hvad det er for en side, og hvad for en slags indhold siden skal have laver jeg forskellige usercontroller som kan noget forskelligt, og så sætter jeg den usercontrol ind som jeg skal bruge på den pågældende side.
min idé var at have en fast side eks. default.aspx, denne side indeholder så min "skabelon" en menu foroven, en fast bund og så nogle andre små ting. derudover er der der plads til en usercontrol i midten af siden.
Når man så vælger en side i menuen, vil jeg skifte denne usercontroll på midten af siden, alt efter hvilket menu punkt der er valgt.
Det ser ud til at cyberfessor havde misforstået mit spørgsmål, så nu spør jeg lige igen. Er den ovenstående måde en dårlige måde at implementere et site på?
Det eneste der ændre si på siden er det i midten, så jeg vil da synes at der er flest fordele i at lave en side, og så alle indholdssiderne som user controls, også skifte dem i placeholderen!
thrytter>> smid et svar så er der point for din ide med placeholder.
ulempen ved denne metode er at du kommer til at bruge querystrings til at bestemme hvilken side brugeren skal se (indhold m.m.). Det mener jeg, både personligt og professionelt, er en lidt klodset løsning. Hvis du absolut vil gøre det på den måde vil jeg anbefale at bruge noget mod-rewrite til at komme af med din ?side=et_eller_andet querystring
Jeg er godt nok rendt i nogle problemmer i denne konstruktion.
Jeg har en usercontrol hvor i man kan vælge varegrupper, når der vælges en varegruppe skal disse varegrupper vise i en anden usercontrol. Problmet er så at få skiftet indholdet i placeholderen på hovedesiden til at vise usercontrollen med søgeresultater.
Et andet problem er at når jeg vil vise bestemte sider får jeg en runtime fejl: "Failed to load viewstate"
"System.Web.HttpException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request."
Er det noget der kan løses eller skal jeg til at kode det hele om?
jeg TROR at det betyder at du skal loade samtlige UserControls i din Page_Load og så definere i dine linkbuttons (codebehind) hvilke af dine usercontrols der skal være visible.
Jeg bruger en placeholder til at vise user control's i.
Men jeg vil gerne lidt tilbage til måden at bygge en asp.net side op på.
Som jeg ser det er den nemmeste og pæneste måde at opbygge en side hvor toppen, bunden evt. højre og venstre side er ens på alle sideren, ved at lave en side hvor man så skifter usercontrols i en placeholder.
Men jeg kender ikke asp.net nok til at kunne gennemskue om der er nogle problemmer i denne løsning, jeg er bla. støt på de ovennævnte problemmer som jeg ikke ved hvordan jeg kan løse i asp.net.
Ups, ja i er jo 3, nå men nu lukker jeg altså, så må thrytter nøjes med æren og et stor tak for hjælpen!
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.