[ASP.NET] Visie op mijn masterpage implementatie

Pagina: 1
Acties:

  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Hallo,

Misschien een beetje een vreemde titel maar ik zal het uitleggen:

Ik heb een implementatie gebruikt van masterpages. Alleen wijkt deze af van wat er voorgeschreven wordt. Ik hoop dat er hier iemand zit die mij kan helpen te overzien wat de gevolgen zullen zijn als ik deze manier definitief ga gebruiken, ik kan daar namelijk weinig over vinden.

De situatie is als volgt:

Ik heb een default.aspx. Deze is geheel leeg (geen html content). In de OnPreInit, selecteer ik een masterpage file adhv een pageid uit de querystring.

De geselecteerde masterpage bevat geen contentplaceholders maar usercontrol(s). Wel bevat de masterpage de htmllayout voor de betreffende pagina.

Dit werkt allemaal prima, beter dan verwacht zelfs. Postbacks door forms worden goed afgehandeld e.d.

Nu lees ik overal dat mijn content (die ik in mijn usercontrols wil op gaan halen uit een database of xml file) binnen de <asp:contentholder> control moet staan. Ik doe dat dus niet en het werkt wel. Zitten hier nadelen aan of heeft iemand hier ervaringen mee?

Alvast bedankt weer!

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • FvH
  • Registratie: Oktober 2001
  • Laatst online: 07-01-2025

FvH

Aan het typen...

Op zich zitten er niet zoveel nadelen aan, mits je server snel zat is.

Punt is namelijk dat als je de contentplaceholder gebruikt er een zekere mate van caching gebruikt wordt. Gebruik je die contentplaceholder niet, dan zal iedere request opnieuw worden afgehandeld.

Zolang je uitprobeerd hoe je webapplicatie schaalt, lijkt het mij geen probleem om op deze manier te werken.

Ik ga er wel vanuit dat je netjes je input spullen v.d. forms checkt? Zodat je niet ineens rare code op je pagina kan hebben lopen door een grapjas die via XSS wat content op je page probeerd te schieten.

What are clouds made of? Linux servers mostly!


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 21-01 09:10

giMoz

iets met meester...

je hebt dus meerdere masterpages in je applicatie staan??

Dat het werkt zal wel, maar zo is het dus neit bedoeld.
(en zal je code er ook niet overzichtelijker op maken denk ik)

Of niet natuurlijk...


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Dat het werkt zal wel, maar zo is het dus neit bedoeld.
(en zal je code er ook niet overzichtelijker op maken denk ik)
Daar was ik idd al achter ;) vandaar ook mijn vraag...

Ik gebruik mijn masterpages alleen voor de layout.

Mijn code zit voornamelijk in mijn usercontrols. Het enige wat mijn default.aspx (in mijn geval showpage.aspx) doet is aan de hand van een id een template ophalen.

[ Voor 31% gewijzigd door 4of9 op 21-09-2006 11:51 ]

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 21-01 09:10

giMoz

iets met meester...

ja maar je lay-out staat dus meerdere keren gedefinieerd (in versschillende masterpages)

Dan ben je dus nog geen stap verder...
de masterpage is dus bedoelt om 1x te maken en overorven te worden door meerdere pagina's zodat al die pagina's dezelfde lay-out bevatten.
en in de contentplaceholder kan je dan per pagina zeten wat er in de content moet komen...

Daar kan je bijvoorbeeld dan vervolgens controls in laden die weer andere controls in laden als je toch je 1 pagina app wil houden...

Of niet natuurlijk...


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Dit is mijn basis opzet. Uiteindelijk zal er 1 masterpage komen met 1 layout. Die gebruikt een masterpage waarin mijn controls zijn gedefinieerd. (ligt aan het cms)

Dus de vraag is gewoon, wat zijn de gevolgen van het niet gebruiken van een contentholder control, en gebruik van usercontrols in mijn masterpages.

In iedergeval lost mijn oplossing het probleem op dat ik in mijn schoot geworpen heb gekregen. Ik overzie alleen de gevolgen niet goed. Zou ik masterpages gaan gebruiken zoals ze "bedoeld" zijn, dan lost het mijn probleem niet op.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • giMoz
  • Registratie: Augustus 2002
  • Laatst online: 21-01 09:10

giMoz

iets met meester...

maar wat is het probleem dan??

als je 1 masterpage krijgt met 1 layout en je hebt maar 1 pagina, waarom gebruik je dan een masterpage?

Of niet natuurlijk...


  • Viper®
  • Registratie: Februari 2001
  • Niet online
Tip:

Ga over op Themes

Hier kun je CSS en plaatjes/layouts gebruiken om je sites te stylen.
hier zijn masterpages eigenlijk niet geschikt voor

  • Viper®
  • Registratie: Februari 2001
  • Niet online
giMoz schreef op donderdag 21 september 2006 @ 12:20:
maar wat is het probleem dan??

als je 1 masterpage krijgt met 1 layout en je hebt maar 1 pagina, waarom gebruik je dan een masterpage?
Masterpages zijn er om snel en gemakkelijk the look and feel van een site over meerdere pagina's te verspreiden + common code (zoals menus)
ze zijn te nesten en je kunt er meerdere per website gebruiken, alleen in jouw geval zou ik toch naar een andere mogelijkheid kijken

  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 13-02 21:58

mulder

ik spuug op het trottoir

Ik zou er helemaal niks aan veranderen en lekker verder gaan met waar je mee bezig was. Je bouwt nu je eigen systeem en daar is niks mis mee. Ik zelf gebruik ook gewoon usercontrols die ik bv in een placeholder laad.

oogjes open, snaveltjes dicht


  • Luuk1983
  • Registratie: Januari 2004
  • Laatst online: 12-02 11:07
Ik dit geval is het volgens mij niet echt nuttig om een masterpage te gebruiker. Ik zie er geen voordeel in in ieder geval.

AMD Ryzen 7 5800X3D | Gigabyte X570 Aorus ELITE | 32GB Corsair vengence 3200 | MSI RTX3080 Gaming Z | 2 x WD Black SN850X 2TB, Samsung 850 EVO 1TB | NZXT H7 Flow | Be quiet! Dark Rock Pro 4 | Corsair RM850x | Meta Quest 3


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Ik gebruik masterpages als vervanging voor templates. Ze blijken daar erg geschikt voor te zijn.
Het volledige probleem duurt iets te lang om geheel uit te leggen maar het komt er op neer:

mijn cms gaat "controls" oftewel modules aanbieden.
Designers moeten templates maken waarin deze controls komen.

Nu kan ik ze html templates laten maken, en een eigen "control aanroep taal" en deze templates gaan parsen en de controls op de plek van de "control aanroep taal definities" in de templates de boel gaan replacen.

Nadeel is dan dat ik geen gebruik kan maken van asp.net server controls etc.

Nu kan ik de designers de masterpages laten ontwerpen en daar mijn controls in laten plaatsen tussen de layout. m.a.w een oplossing voor mijn probleem.

de controls worden in de masterpage geplaatst dmv mijn eigen tags (bijv <4of9s:control runat="server" param="" param2="" />)

Men kan nu dus pages creeren in de back-end, een template toewijzen en voila! een nieuwe pagina!

(alle content wordt dus door 1 en dezelfde page getoont namelijk showpage.aspx)

vooralsnog lijkt het perfect te werken, en mijn code is netjes gescheiden in mijn usercontrols.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • mulder
  • Registratie: Augustus 2001
  • Laatst online: 13-02 21:58

mulder

ik spuug op het trottoir

Waarom kan je niet gebruik maken van ASP.Net server controls in jouw situatie?

oogjes open, snaveltjes dicht


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
als ik een html file in ga lezen en parsen/replacen, dan heb ik niet de server controls tot mijn beschikking. ik moet dan al de controls dynamisch gaan laden.

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:54

gorgi_19

Kruimeltjes zijn weer op :9

4of9 schreef op donderdag 21 september 2006 @ 14:55:
als ik een html file in ga lezen en parsen/replacen, dan heb ik niet de server controls tot mijn beschikking. ik moet dan al de controls dynamisch gaan laden.
Waarom wil je die inlezen? Waarom parse je hem dan niet met iets als PageParser.GetCompiledPageInstance ?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • 4of9
  • Registratie: Maart 2000
  • Laatst online: 13-12-2024
Die zou ik willen inlezen omdat dat de layout templates zijn.

Ik kende de pageparse class niet.
Ik zal er zeker even naar kijken. Maar ik heb nog steeds niet het idee dat er grote problemen op gaan treden met mijn implementatie.

heb ik geen idee als ik een usercontrol in een html file zet en die door de pageparser class haal of deze dan goed verwerkt worden. Dank je voor de tip in iedergeval!

Aspirant Got Pappa Lid | De toekomst is niet meer wat het geweest is...


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:54

gorgi_19

Kruimeltjes zijn weer op :9

4of9 schreef op donderdag 21 september 2006 @ 15:16:
Die zou ik willen inlezen omdat dat de layout templates zijn.

Ik kende de pageparse class niet.
Ik zal er zeker even naar kijken. Maar ik heb nog steeds niet het idee dat er grote problemen op gaan treden met mijn implementatie.

heb ik geen idee als ik een usercontrol in een html file zet en die door de pageparser class haal of deze dan goed verwerkt worden. Dank je voor de tip in iedergeval!
In dat geval kan je ook overwegen om een 'lege' .aspx pagina te gebruiken met alleen een placeholder er op. In de Init-methode van die Page roep je dan doormiddel van LoadControl een .ascx aan, welke de 'content-pagina' is en heb je ook een soort van flexibele layout. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo

Pagina: 1