Toon posts:

[ASP.NET] Algemene technische discussie *

Pagina: 1
Acties:
  • 119 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Oke..
Heb ik eindelijk mijn validation werken... loop ik weer tegen het volgende probleem aan. Ik zat al even op internet te zoeken, maar ik kon niet echt wat vinden

Ik heb 2 usercontrols, met op allebei die usercontrols een validationcontrol.
Deze usercontrols worden allebei geladen op index.aspx.
Als ik nu op de submit button van het ene usercontrol druk, word ook de validation die bij het andere usercontrol hoort uitgevoerd :?
? Is hier nog iets aan te doen???

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

Zie ook [rml][ ASP.NET] Validatie van meerdere controls tegelijk vermijden[/rml]

Afaik niet. :) Ik ben bang dat het meerdere schermen wordt.

[ Voor 16% gewijzigd door gorgi_19 op 01-10-2003 16:30 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
*zucht* ik ga wel weer in asp programmeren ;)
naja dan bouw ik mijn eigen validation wel :'( dat gaat geloof ik net zo snel...

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 01 October 2003 @ 16:32:
[...]


*zucht* ik ga wel weer in asp programmeren ;)
naja dan bouw ik mijn eigen validation wel :'( dat gaat geloof ik net zo snel...
http://www.devhood.com/tu...ails.aspx?tutorial_id=505

Je kan eens kijken naar deze tutorial.. Volgens mij moet dit een oplossing bieden. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 06:43
Check this out

edit:
gorgi, moet jij nu altijd sneller zijn ofzo? :+

[ Voor 25% gewijzigd door whoami op 01-10-2003 16:35 ]

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

whoami schreef op 01 October 2003 @ 16:34:
Check this out

edit:
gorgi, moet jij nu altijd sneller zijn ofzo? :+
offtopic:
In sommige gevallen wel.... :P
Misschien een tip om die tamtam eens te vervangen door een postduif? :+

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
gorgi_19 schreef op 01 October 2003 @ 16:33:
[...]

http://www.devhood.com/tu...ails.aspx?tutorial_id=505

Je kan eens kijken naar deze tutorial.. Volgens mij moet dit een oplossing bieden. :)
ja zo op het eerste gezicht wel ja... harstikke bedankt :>

*ik moet maar eens een cursus google ;) gaan volgen"

Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
Verwijderd schreef op 01 October 2003 @ 16:39:
[...]
*ik moet maar eens een cursus google ;) gaan volgen"
Hetzelfde geldt voor mij :)

Toch ben ik af en toe niet helemaal blij met het concept dat achter ASP.Net zit.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

zoepercavia schreef op 01 October 2003 @ 19:19:
Toch ben ik af en toe niet helemaal blij met het concept dat achter ASP.Net zit.
* gorgi_19 is wel heel benieuwd.. :P

Kan je hier een paar voorbeelden van geven? :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
Een ding is bijvoorbeeld de scheiding van data en layout. Of in mijn specifieke geval, het centraliseren van de algemene layout (layout die op elke pagina terug komt). Ik heb hier al eerder een topic ([rml][ ASP.Net] scheiding data en layout[/rml]) over geopend. Maar echt tevreden ben ik niet.

Ik vind het persoonlijk jammer dat het ASP.Net team geen goede opzet heeft gemaakt om layout her te gebruiken. Ik schets even welke problemen ik ben tegen gekomen. Er zijn namelijk een aantal (quasi-)oplossingen:
* Gebruik van templates (mbv ITemplate). Dit werkt goed als je statische layout wilt varieren binnen een control. Ga je echter gebruik maken van events etc. dan stort het in omdat tijdens de runtime de inhoud naar een namingcontainer (bv. Panel of Placeholder) wordt verplaatst en dan onbereikbaar is voor je CodeBehind. Overigens kan je VS.Net designer ook niet gebruiken.
* Gebruik van template source directories zoals gedaan wordt door MasterPages (wat gepropageerd wordt als de enige officieuze oplossing van het ASP.Net team). Werkt aardig behalve dat clientscript niet meer werkt. En dat vind ik toch iets te handig van ASP.Net. And again, VS.Net designer werkt niet meer.
* Gebruik van een custom HttpModule en je eigen skinner implementeren (iets vergelijkbaar is gedaan in [url=http://www.devhawk.net/projects/webskin.aspx]Web.SkinUi). Maar dit legt weer restricties op aan het gebruik van native aanwezige functionaliteit.

Ik doe het nu zelf zoals op AspForums (http://www.asp.net/forums...t.aspx?tabindex=0&tabid=1, jou link Gorgi :)). Dit zorgt wel voor hergebruik van delen van de layout (je werkt met <asp:header>, <asp:footer>, etc..), maar dit begint weer verrassend veel op classic ASP te lijken (mbv includes). En betekent ook dat je bij een herindeling van de algemene layout, weet ik niet hoeveel pagina's weer kan gaan aanpassen. Iets wat ik dus nou juist probeer te voorkomen :(

Soms mis ik de volledige vrijheid van XML/XSLT wel, maarja daar heb je geen event-driven ontwikkeling.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Acties:
  • 0 Henk 'm!

  • whoami
  • Registratie: December 2000
  • Laatst online: 06:43
Je kan toch een template pagina maken en daar dan iedere pagina die je wilt maken van overervern?

https://fgheysels.github.io/


Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
Je bedoelt door daar controls aan toe te voegen? Aspx overerven kan namelijk natuurlijk niet. Zou kunnen, dan zou je voor en achter de control die de server side form voorstelt, zelf controls kunnen plakken. Is wel een idee opzich. Iemand misschien ervaringen?

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

Binnen een control kan je zeer goed gebruik maken van events. Persoonlijk gebruik ik ITemplate alleen voor templates in controls, zoals bijvoorbeeld een eigen TemplateColumn. Voor de overige templates gebruik ik .ascx bestanden, weliswaar dan zonder de codebehind. Ook kan je dynamische Itemtemplates maken, door een method ITemplate te laten teruggeven als returnvalue. Zie hiervoor deze tutorial, welke imho een aanrader is als je wat dieper op de materie in wilt gaan en een leuke introductie vormt.

Deze bestanden kan je vervolgens laden met Page.LoadControl(.ascx bestand). Door vervolgens met FindControl aan de weer te gaan, kan je een zekere mate van flexibiliteit krijgen. Ook kan je nog steeds de designer gebruiken, weliswaar moet je dan alleen het bijbehorende .ascx bestand verwijderen.

Je doelt ook nog een aantal keren op VS.Net. Deze kan dus absoluut niet omgaan met de ASP.Net pagina's; een van de meest jammere dingen vind ik ook dat je gedwongen wordt om er automatisch een bijbehorende codebehind bij te nemen (ik heb in ieder geval nog geen optie gevonden om dit uit te schakelen, anyone? :P)
ASP.Net heeft echter nog wel meer steken laten vallen; vooral op het gebied van cross browser en HTML 4 compliance, maar dat is een hele andere discussie op zich. :P (Voor mensen die hier meer over willen weten: Microsoft heeft bijvoorbeeld de validators IE only gemaakt; zie hier voor de MSDN link met goede validators. Voor het gedeelte met de problematiek rondom NS 6.2+, Opera, Mozilla in ASP.Net 1.1, zie dit voor een discussie + oplossingen

Wat je verder aangeeft met de header en de footer moet volgens mij ook wel redelijk eenvoudig overheen te komen zijn. Sowieso lijkt het me makkelijk als je 1 pageTemplate hebt, zoals whoami ook al zegt, welke Page inherit. Vervolgens laadt je hierin automatisch header.ascx en footer.ascx, zodat deze automatisch geladen worden in iedere pagina.

Een andere optie is om met 1 .aspx pagina te werken. Deze heeft als enige doel om een 'verdeler' te zijn. De rest van de 'pagina's' zijn dan .ascx bestanden. Vooralsnog bevalt deze manier van werken mij heel erg. In een applicatie, die oa ik gebouwd heb, hebben we in principe maar 2 .aspx pagina's. Eentje voor het inloggen, en eentje die de 'verdeler' is.
Daarnaast werkt de applicatie met meerdere templates; waarbij iedere template een eigen .ascx bestand is, zonder bijbehorende code-behind. En in dit .ascx worden dan de custom controls geladen.

Waar je wel gelijk in hebt, is dat VS.Net hier niet zo blij mee is. Vandaar dat ik ook heb gekozen om eigenlijk niets te maken dmv de 'VS.Net GUI met het sleur en pleurwerk'. Alles wordt bij mij in controls aangemaakt en dynamisch geladen. Enerzijds werd ik gedwongen; VS.Net ondersteunt niet echt opties tot een goed 'plugin-systeem', anderszijds was de reusuability van controls erg laag. Verder snapt het helemaal niets van dynamische controls.

Om nog even verder te gaan op dynamische controls; aan een aantal posts in PW zie je al heel duidelijk dat er vele valkuilen zitten bij de dynamische controls. Om te beginnen al het moment waarop je controls moet aanmaken, wil je uberhaupt nog 'events in de controls of vanuit de controls' kunnen gebruiken. Beter had wmb ook gedocumenteerd mogen worden wat de volgorde van execution is; sommige mensen willen op het Render moment nog controls gaan toevoegen! CreateChildControls is hier imho de plaats voor; handler van het Load / Init event kan evt. ook nog. Later kan je er iig op rekenen dat je code niet goed werkt.
En het toevoegen en verwijderen van controls aan de controlcollection.. :r
Toevoegen 'nummert' hij automatisch de index 1'tje omhoog; verwijderen nummert hij automatisch niet eentje omlaag. Best logisch enerzijds; anderzijds komt je control bij een postback op een andere plaats terecht, snapt ASP.Net het niet meer en kan je het shaken met je events. Om enigszins iets te illustreren, wordt hier een tutorial beschreven, inclusief de problematiek en oplossing ervoor.

Wat verder ook heel verleidelijk was, is om veel te gaan werken met het laden d.m.v. POST requests; deze zijn echter vele malen langzamer dan GET-request. Bij een GET wordt namelijk direct een pagina geladen, bij POST eerst nog de oude control, evt. events worden uitgevoerd, en vervolgens wordt de nieuwe pagina geladen. Ergo: dynamisch controls laden, gebaseerd op POST zijn significant langzamer dan dynamisch controls laden, gebaseerd op GET.

Ook zag ik dat clientside scripting niet werkt? Vrij apart; dit kan door 2 oorzaken komen.
1. Gebruik geen relatieve paden, maar absolute paden. Dit kan je oplossen door alles te baseren op Request.ApplicationPath; evt. kan je hier een shared /static method van maken.
2. Een bug in ASP.Net, waardoor je geen <form runat="server"> kan hebben in .ascx bestanden. Dit komt doordat de gegenereerde Javascript in .Net Framework 1.1 niet correct is. Voor meer info, zie Deze post op asp.net forums en de bijbehorende oplossingen

Verder heb ik geen enkel probleem nog gehad met Javascripting, afgezien van de bugs in ASP.Net met betrekking tot de javascripts. :P

Ergo: Qua layout vind ik dat ze flexibel genoeg zijn, zeker met de mogelijkheden tot custom controls. Waar ze echter gruwelijk in gefaald hebben, is een duidelijke en nette methode naar buiten brengen en documenteren, zoals bijvoorbeeld bij ASP.Net Forums. De eerder uitgebrachte applicaties, zoals IBuySpy en IBuyPortal, wekken de indruk dat dit netjes geregeld is, maar laten een aantal oplossingen zijn welke imho beter kunnen. (Bijvoorbeeld de scheiding content / layout en de datalayer).
Een ander is wat erg jammer is, is dat VS.Net, mbt het ASP.Net gedeelte, enorm gefocussed is op RAD, en niet op 'netjes en goed coden' van een ASP.Net applicatie.

[ Voor 74% gewijzigd door gorgi_19 op 02-10-2003 00:04 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

zoepercavia schreef op 01 October 2003 @ 22:42:
Je bedoelt door daar controls aan toe te voegen? Aspx overerven kan namelijk natuurlijk niet. Zou kunnen, dan zou je voor en achter de control die de server side form voorstelt, zelf controls kunnen plakken. Is wel een idee opzich. Iemand misschien ervaringen?
Een .aspx pagina erft van een Page Class. En als je een eigen class maakt, welke de Page class inherit, kan je vervolgens je custom Page class maken. Je .aspx pagina laat je dan vervolgens van deze class inheriten.

Een tutorial over deze materie is hier te vinden.

[ Voor 12% gewijzigd door gorgi_19 op 01-10-2003 23:15 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Op verzoek gerenamed :)

Professionele website nodig?


Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
Yup, zover was ik al wel. En dat werkt prima (initialisatie van persistence framework, toevoegen van beveilingsinformatie gebeurt bijvoorbeeld daar). Maar jou idee is dus om in de OnInit van de base Page controls toe te voegen? Hoe controleer je dan de plaatsing van de controls?

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

zoepercavia schreef op 02 October 2003 @ 00:08:
Yup, zover was ik al wel. En dat werkt prima (initialisatie van persistence framework, toevoegen van beveilingsinformatie gebeurt bijvoorbeeld daar). Maar jou idee is dus om in de OnInit van de base Page controls toe te voegen? Hoe controleer je dan de plaatsing van de controls?
Visual Basic .NET:
1
2
3
4
Dim __textbox as Textbox = CType(Me.Findcontrol("TekstBoxID"),TextBox)
If Not __textbox Is Nothing Then
      __textbox.Text = "Hij is er!!!"
End if

Als voorbeeld. :) Dit als je het doet bijvoorbeeld met een .ascx bestand.
Als je controls ook nog dynamisch gaat toevoegen, moet je deze in init / load / createchildcontrols toevoegen.*

Maar wat bedoel je met de plaatsing van controls?

* de meningen zien hier nogal over verdeeld. :)

[ Voor 23% gewijzigd door gorgi_19 op 02-10-2003 00:14 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
Maar wat bedoel je met de plaatsing van controls?
Nou, ik neem aan dat als je gebruik maakt van een custom base page, je in de OnInit (ik ben voor de init :)), iets neerzet van Controls.Add(new LayoutFooterControl()). Of sla ik nu de plank helemaal mis?
Je mag me ook naar de boeken verwijzen en dan ga ik me 's even goed inlezen over bv. de ASP.Net lifecycle en hoe omgegaan wordt met controls (ik was begonnen met 15 Seconds : The ASP.NET Page Life Cycle. Het duurt namelijk altijd een tijdje voordat ik helemaal de implicaties en consequenties van een bepaalde architectuur goed inzie. En daarmee duurt het ook even voordat ik weet hoe iets het handigste aan te pakken. Maar ik kan me voorstellen dat andere mensen, die net iets meer willen dan formpjes bij elkaar slepen, daar ook mee zitten.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

zoepercavia schreef op 02 October 2003 @ 00:32:
[...]


Nou, ik neem aan dat als je gebruik maakt van een custom base page, je in de OnInit (ik ben voor de init :)), iets neerzet van Controls.Add(new LayoutFooterControl()). Of sla ik nu de plank helemaal mis?
Voordat er moeilijke oplossingen bedacht worden.. Is de footer / header niet in principe statische content?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • tijn
  • Registratie: Februari 2000
  • Laatst online: 01-08 16:49
zoepercavia schreef op 02 oktober 2003 @ 00:08:
Yup, zover was ik al wel. En dat werkt prima (initialisatie van persistence framework, toevoegen van beveilingsinformatie gebeurt bijvoorbeeld daar). Maar jou idee is dus om in de OnInit van de base Page controls toe te voegen? Hoe controleer je dan de plaatsing van de controls?
Wat wel aardig werkt is om 1 UserControl (je page template) in te laden in je base class, waarin dan weer andere usercontrols opgenomen worden (header, navigatie, footer etc.). Na het laden van je template vrot je alle controls van je .aspx pagina in een placeholder die in je template gedefinieerd is, en voila! Dit speelt zich af in het OnInit event, al zijn er ook lui die het in het AddParsedSubOject event doen.
Voordeel van het hele verhaal is dat je gewoon je .aspx pagina's in de designer kunt blijven maken zonder dat je last hebt van je templates. Het enige waar je op moet letten is dat je namingcontainer iets anders is dan je normaliter zou verwachten.

Cuyahoga .NET website framework


Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
gorgi_19 schreef op 02 oktober 2003 @ 10:12:
[...]

Voordat er moeilijke oplossingen bedacht worden.. Is de footer / header niet in principe statische content?
Dat hangt er een beetje vanaf. In mijn geval wordt staat bijvoorbeeld ook het menu (welke dynamisch is) in de header. Maar of je nou dynamische of statische content hebt, je moet toch controls (dus of literalcontrol of usercontrol) toevoegen in je template.

Tijn: klinkt goed je oplossing. Maar levert dit geen problemen op met het gebruik van events in je aspx pagina. Toen ik namelijk gebruikt maakte van een templated page layout ging dat mis. In dat geval was het een control die verschillende ITemplates, de inhoud van die templates werden in de Page_Load geplaats in de corresponderende placeholders. Toen ik de pagina laadde kon hij het object dat bij het event hoorde (bv. click) niet meer vinden. Het zou natuurlijk ook kunnen zijn dat ik iets verkeerd deed.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

zoepercavia schreef op 02 oktober 2003 @ 19:06:
[...]


Dat hangt er een beetje vanaf. In mijn geval wordt staat bijvoorbeeld ook het menu (welke dynamisch is) in de header. Maar of je nou dynamische of statische content hebt, je moet toch controls (dus of literalcontrol of usercontrol) toevoegen in je template.
Ja, maar als het statisch is, kan je heel erg lui doen en het op het laatste moment, in de prerender toevoegen. Desnoods in je Global.Asax, bij de BeginRequest en EndRequest.

Dynamische content is ietsie lastiger, daar kan je de methodiek van tijn erg goed gebruiken; 1 aspx pagina, waarin 1 contentcontrol, 1 headercontrol en 1 footercontrol zit en de contentcontrol kan je eenvoudig wijzigen.
Tijn: klinkt goed je oplossing. Maar levert dit geen problemen op met het gebruik van events in je aspx pagina. Toen ik namelijk gebruikt maakte van een templated page layout ging dat mis. In dat geval was het een control die verschillende ITemplates, de inhoud van die templates werden in de Page_Load geplaats in de corresponderende placeholders. Toen ik de pagina laadde kon hij het object dat bij het event hoorde (bv. click) niet meer vinden. Het zou natuurlijk ook kunnen zijn dat ik iets verkeerd deed.
Ik denk dat je iets fout deed.. ;)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • tijn
  • Registratie: Februari 2000
  • Laatst online: 01-08 16:49
zoepercavia schreef op 02 oktober 2003 @ 19:06:
[...]
Toen ik namelijk gebruikt maakte van een templated page layout ging dat mis. In dat geval was het een control die verschillende ITemplates, de inhoud van die templates werden in de Page_Load geplaats in de corresponderende placeholders. Toen ik de pagina laadde kon hij het object dat bij het event hoorde (bv. click) niet meer vinden. Het zou natuurlijk ook kunnen zijn dat ik iets verkeerd deed.
Ja, het verkeerde event dus (page_load). Als je met template constructies aan de gang gaat loont het zich zeer de moeite om precies uit te zoeken hoe die page lifecycle nou in elkaar zit.

*edit: je zei dat laatste zelf al hiervoor zie ik :).

[ Voor 6% gewijzigd door tijn op 02-10-2003 19:36 ]

Cuyahoga .NET website framework


Acties:
  • 0 Henk 'm!

Verwijderd

Wacht nog een paar weken tot de PDC, dan zul je zien dat ASP.NET 2.0 veel betere support voor skinning biedt.

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 02 oktober 2003 @ 19:52:
Wacht nog een paar weken tot de PDC, dan zul je zien dat ASP.NET 2.0 veel betere support voor skinning biedt.
Is er toevallig ergens een link bekend waarop staat wat de wijzigingen (ongeveer) zullen zijn tov van ASP 1.1, en de backwards compatibility?

edit:
Las net dat er alleen een designpreview uit is. De eerste beta wordt verwacht in het voorjaar van 2004

[ Voor 15% gewijzigd door gorgi_19 op 02-10-2003 20:00 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 05:45

Stewie!

Keen must die!

Verwijderd schreef op 02 October 2003 @ 19:52:
Wacht nog een paar weken tot de PDC, dan zul je zien dat ASP.NET 2.0 veel betere support voor skinning biedt.
PDC?
asp .net 2.0?
vertel!

Acties:
  • 0 Henk 'm!

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 16:20

gorgi_19

Kruimeltjes zijn weer op :9

DaMorpheus schreef op 02 October 2003 @ 19:56:
[...]

PDC?
asp .net 2.0?
vertel!
Na even zoeken blijkt http://weblogs.asp.net/scottgu/posts/27705.aspx alles wel in te staan.. :)

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Acties:
  • 0 Henk 'm!

  • Scharnout
  • Registratie: November 2000
  • Laatst online: 10-04-2024

Scharnout

Meuk

Discover cool new features and great tips and tricks that you can take advantage of with ASP.NET "Whidbey". Learn about doing postbacks to other pages, the new site counter system, the new image generation controls, new validation group support with the validation controls, support for client-side focus, scrolling and client script events, and much more. This session will be presented in a slide, code demo, slide, code demo, slide, code demo format. Attend to pick up cool tips and techniques that will be able to make your ASP.NET Whidbey applications really rock.
:9~

Hier krijg je natuurlijk als asp.net nerd een strakke plasser van :) Mijn god. Als ik dit zo eens lees, zou je haast denken dat ze al je wensen in vervulling hebben laten gaan :)

And Bob's your uncle ...


Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 05:45

Stewie!

Keen must die!

Die is misschien erg leuk voor jullie: https://faculty.university.microsoft.com/2003/uploads/8
kan Scharnout nog een strakke plasser van krijgen ;)

en:
http://www.microsoft-watc...le2/0,4248,1210011,00.asp

[ Voor 44% gewijzigd door Stewie! op 02-10-2003 21:54 ]


Acties:
  • 0 Henk 'm!

Verwijderd

DaMorpheus schreef op 02 October 2003 @ 21:53:
Die is misschien erg leuk voor jullie: https://faculty.university.microsoft.com/2003/uploads/8
kan Scharnout nog een strakke plasser van krijgen ;)
Van een 404 Not found :? :P

Acties:
  • 0 Henk 'm!

  • Stewie!
  • Registratie: September 2001
  • Laatst online: 05:45

Stewie!

Keen must die!

Verwijderd schreef op 03 oktober 2003 @ 08:03:
[...]

Van een 404 Not found :? :P
LOL, gisteren stond hier een presentatie van MS voor Amerikaanse highschools enzo over de nieuwe .NET :D

Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
Toch trap ik dit topic weer even. Ik ben gaan werken aan bovenstaande oplossingen en het is al aardig gaan werken. Ik heb nu de volgende code:
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
    public class Template : FrameWorkNet.Framework
    {
        
        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            InitializeComponent();
            base.OnInit(e);

            /* Load the layout and put all the controls in the content part of the layout.
             * This is necessary to ensure a constant layout.
             */
            Layout layout = (Layout)Page.LoadControl("~/general/layout.ascx");
            //put all the controls in the content place holder of the layout
            //note that that the index is not increased, because the collection decreases
            while(Page.Controls.Count != 0) 
            {
                layout.Content.Controls.Add(Page.Controls[0]);
            }
            Page.Controls.Add(layout);
        }
        
                #endregion
    }

(FrameWorkNet.FrameWork erft over van Page, maar heeft verder geen invloed, behalve dat hij o.a. de <form runat="server"> in .ascx bug (http://www.asp.net/Forums...?tabindex=1&PostID=191690 fixed).

Zoals je ziet wordt er een layout control geladen, vervolgens wordt alles wat er op dat moment aan de Page hangt verplaatst naar de content placeholder van de layout control en als laatste wordt de layout control aan de Page geplakt.
Alle pagina's die overerven van Template krijgen de layout die in layout.ascx staat. De aspx van deze pagina's bevatten geen <html> <body> of <form runat="server"> dit staat allemaal in layout.ascx.
Dit werkt goed met state management (geen extra code nodig). Echter wanneer ik Validators ga toevoegen gaat het mis, cq het werkt niet, er wordt namelijk helemaal niks gevalideerd. Ik ben net 1,5 uur bezig geweest proberen te achterhalen wat het verschil is tussen de uitgepoepte html met en zonder template. Maar er zit weinig verschil behalve dat bij degene met template alles geprefixed is door ctl0. Ook heb ik de WebUIValidation.js er bij gepakt om uit te vogelen wat er anders gaat bij de template. Het leek erop dat de javascript variabele Page_BlockSubmit verschillend was, maar de oorzaak kon ik niet achterhalen.

Conclusie: ik snap het niet meer, hoe krijg ik de clientside validatie aan de praat met bovenstaande code? Bij de comments van MasterPages staat ook dat de clientside validatie stukgaat, maar verder geen oplossing.

Wie o wie helpt mij? :)

offtopic:
N.B. er staat wel c++, maar het is natuurlijk C#, maar c++ wordt mooier geparsed, is het niet handig om iig tijdelijk de zelfde template te gebruiken voor c++ en c#?

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


Acties:
  • 0 Henk 'm!

  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 10-09 20:14
Hmm laat maar, het is gewoon te laat voor dit soort dingen :)
Ik gebruik nu de methode beschreven op http://authors.aspalliance.com/PaulWilson/Articles/?id=3 (tweede methode):
C++:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
public class BasePage : System.Web.UI.Page
  {
    private Template template;
    
    protected override void AddParsedSubObject(object obj) {
      this.template.Content.Controls.Add((Control)obj);
    }

    public BasePage() {
      if (this.Context != null) {
        this.template = (Template)LoadControl("Template.ascx");
        this.Controls.Add(this.template);
      }
    }
  }


Ik vind hem persoonlijk zeer elegant, en voor zover ik nu kan zien werkt viewstate en validatie. Morgen maar 's kijken naar het valideren van delen van de pagina.

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!

Pagina: 1