Navigatie

Contact

Send mail to the author(s) E-mail

View Richard Soeteman's profile on LinkedIn

RSS 2.0 | Atom 1.0 | CDF

Archief

Categorieën

Blogroll

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

Sign In

Zoeken

# Tuesday, 16 May 2006
Tuesday, 16 May 2006 20:45:34 (GMT Daylight Time, UTC+01:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

In ASP.Net is het mogelijk Javascript uit te genereren, zoals in het onderstaand voorbeeld:

protected void Page_Load(object sender, EventArgs e)
{
    StringBuilderjsScript = new StringBuilder();
    jsScript.AppendLine("function ResizeWin(){");
    jsScript.AppendLine("debugger;");
    jsScript.AppendLine("var windowWidth = 500;");
    jsScript.AppendLine("var windowHeigth = 500;");
    jsScript.AppendLine("resizeTo(windowWidth, windowHeigth);");
    jsScript.AppendLine("}");
    jsScript.AppendLine("window.onload =ResizeWin;");
    ClientScript.RegisterClientScriptBlock(this.GetType(), "onLoad", jsScript.ToString(),true);
}

In het voorbeeld wordt de Javascript code d.m.v. een stringbuilder opgebouwd en vervolgens uitgeschreven op de pagina middels ClientScript.RegisterClientScriptBlock. Normaliter is het debuggen van deze code niet mogelijk, want een breakpoint zal tijdens het genereren van de pagina afgaan niet tijdens het renderen van het script.

Het plaatsen van het debugger statement zoals ook in het voorbeeld gebruikt is betekend ook een breakpoint. Dit breakpoint gaat wel af tijdens het renderen van het Javascript.

Na het starten van de applicatie in debug mode zal deze stoppen op het debugger statement, zoals te zien is op de afbeelding. Vanaf dit punt beschik je over de volledige debug functionaliteit van Visual studio.

Om dit te realiseren is wel de onderstaande aanpassing in internet Explorer benodigd. Ik heb dit overigens niet getest in andere Browsers, mocht iemand daar meer over weten hoor ik het graag.

Happy Debugging!

Richard
Comments [0] | | # 
# Saturday, 13 May 2006
Saturday, 13 May 2006 00:18:49 (GMT Daylight Time, UTC+01:00) ( Tools )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Afgelopen week moest ik een class genereren op basis van een redelijk complex XML Schema. Hiervoor wilde ik niet XSD.exe gebruiken. XSD.exe kent een aantal beperkingen. Het stoort me bijvoorbeeld dat ik in mijn implementatie gebruik moet maken van arrays, terwijl ik gebruik wil maken van collecties. De bekende vervanger XSDObjectGen hernoemt enumerations iets wat ik ook niet wil.

Uiteindelijk heb ik gekozen voor CodeXS. De output van CodeXS is schoon. Hij neem de output van xsd.exe als de basis. De uiteindelijke code wordt gegenereerd d.m.v. CodeDom. Wanneer een schema gebruik maakt van included schema’s kan je de locatie opgeven zodat deze ook worden meegenomen. Verder kan je de tool zelf uitbreiden d.m.v. het implementeren van de ICodeModifier  interface en het opgeven van je assembly locatie. Dit vereist wel overigens wel kennis van CodeDom. Een serializer wordt standaard mee gegenereerd.

Een tweetal issues dat ik tegenkwam:

  • Let wel op dat je de parameters goed specificeert want daarin is CodeXS wel wat foutgevoelig en de foutmeldingen worden standaard niet getoond.
  • Zorg ervoor dat de bin folder van ConsoleApp onderstaande bestanden bevat:
    - cxsc.Net.exe
    - CodeXS.Application.CommandLine.Net.dll
    - CodeXS.Schema.Net.dll
    - CodeXS.Schema.StandardCodeModifier.Net.dll
    - Refly.Net.dll
CodeXS is ook Online te gebruiken. De bestanden worden dan in een ZIP file geplaatst, welke te downloaden is via de site.

CodeXS is via deze url als Visual Studio project te downloaden en via deze url online te gebruiken.
Comments [0] | | # 
# Wednesday, 03 May 2006
Wednesday, 03 May 2006 21:46:12 (GMT Daylight Time, UTC+01:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Sinds het begin van dit jaar zit ik gemiddeld 1,5 uur per dag in de auto. Na een periode van het voornamelijk luisteren naar 3FM kwam ik in aanraking met podcasts speciaal gericht op .Net developers en architecten.  In eerste instantie was ik nogal terughoudend. Wat heb je nou aan een podcast?  Als developer wil je toch liever code, of een goede demo zien?  Toch leer ik op deze manier dagelijks nieuwe technieken, tips & tricks en ben ik op de hoogte van de laatste ontwikkelingen op .Net gebied. Zeker de moeite waard om ook eens te proberen.

Momenteel zijn dit de podcasts waar ik naar luister:

.Net Rocks
De wekelijkse internet Talkshow van Carl Franklin en Richard Campbell, gericht op developers en architecten. Elke week een bekende spreker en elke week een interessant onderwerp.

Hanselminutes
De wekelijkse Internet Talkshow van Scott Hanselman. Deze mag je niet missen. Veel info over development, best practices, tips and tricks en heel veel info over tools voor dagelijks gebruik.

ASP.NET Podcast
De 100% ASP.Net focust podcast van Wally McClure, en Paul Glavich

Polymorphic podcast
De podcast van Craig Shoemaker gaat over O/O, architectuur en best practices in .Net

Channel 9 podcasts
Diverse podcasts van Microsoft. De kwaliteit van de podcast is wat minder

Comments [0] | | # 
# Sunday, 26 March 2006
Sunday, 26 March 2006 19:18:44 (GMT Daylight Time, UTC+01:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Schrijf je als .Net ontwikkelaar in bij MSDN Connection Netherlands en abonneer je gratis op .NET Magazine, of verleng dit abonnement. Tevens ontvang je via Computer Collectief 40% korting op het boek van de maand.

Comments [0] | | # 
# Wednesday, 22 March 2006
Wednesday, 22 March 2006 20:42:56 (GMT Standard Time, UTC+00:00) ( Tools )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Sinds gisteren gebruik ik Snippet Compiler in VS2003 en baal ervan dat ik dit niet eerder heb  gebruikt.  Je kan heel snel een stukje code in een Console App of  Winform  testen zonder direct een heel project in Visual Studio aan te maken. Verder kan je binnen de tool kiezen voor een C#,J# of VB.Net template. De tool beschikt ook over intellisense voor deze talen en nog een prettige editor om in te werken ook. 

Download Snippet Compiler

Comments [0] | | # 
# Monday, 20 March 2006
Monday, 20 March 2006 18:56:15 (GMT Standard Time, UTC+00:00) ( Atlas )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Microsoft heeft de maart Community Technology Preview van Atlas released. Bij de maart CTP zit een go-live license, wat betekent dat je ook echt live kan met je Site.  De documentatie site is uitgebreid en verder heeft Microsoft een wedstrijd uitgeschreven waar je een Xbox 360 of 1 van de 5 Windows Mobile 5.0 Smart Phones kan winnen.

Download Atlas Maart CTP

Comments [0] | | # 
# Friday, 17 March 2006
Friday, 17 March 2006 12:15:38 (GMT Standard Time, UTC+00:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Via deze link kan je de meeste  presentaties van Devdays 2006 downloaden.  Zelf was ik dinsdag 7 maart op de Devdays en heb de volgende Sessies gevolgd:

Comments [1] | | # 
# Monday, 13 March 2006
Monday, 13 March 2006 14:42:32 (GMT Standard Time, UTC+00:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Wanneer je op zoek bent naar een bepaalde tool voor .NET is het gemakkelijk om een site te hebben waar al deze tools op verzameld staan. Madgeek Sharptoolbox is zo’n site. Alle bekende en minder bekende tools zijn hier verzameld.
Comments [0] | | # 
# Saturday, 11 March 2006
Saturday, 11 March 2006 07:45:41 (GMT Standard Time, UTC+00:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

ASP.NET 2.0 biedt de mogelijkheid een defaultbutton in te stellen op het formulier. Hier maakt het niet uit of dit een submit, link of Image button is. Standaard biedt ASP.NET 1.1 geen ondersteuning voor een default link, of image button.  Dit houdt in dat elke keer dat een formulier verstuurd moet worden, de gebruiker dit moet doen door op de betreffende button te klikken.  Middels het gebruik van Javascript is dit echter wel te realiseren.

Onderstaand Javascript (alleen getest in Internet Explorer) vangt het Keypress event op pagina niveau  af, controleert of  de enter toets is gebruikt en wanneer het hidden veld __EVENTTARGET gevuld is wordt een postback gedaan.

document.attachEvent("onkeypress",checkkey);

            function GetValue(Field) {
                if (null == Field) {
                    return "";
                }
                
                if ("undefined" == typeof(Field) ) {
                    return "";
                }
                return Field.value;
            }
    
            function checkkey(e)
            {
                if(e.keyCode==13){
                    e.returnValue=false;
                    e.cancel = true;
                    var theform = document.forms[0];
                    var __EVENTTARGET = GetValue(theform.__EVENTTARGET);
                    var __EVENTARGUMENT = GetValue(theform.__EVENTARGUMENT);
                    
                    if (__EVENTTARGET.length > 0){
                        __doPostBack(__EVENTTARGET,__EVENTARGUMENT);
                    }
                }
            }

Het Page_Load event  zorgt ervoor dat het hidden veld “__EVENTTARGET” gevuld wordt met het ClientId van button lnkBVerstuur.

private void Page_Load(object sender, System.EventArgs e){
            Page.RegisterHiddenField("__EVENTTARGET", lnkBVerstuur.ClientID); 
}

Het Click event van lnkBVerstuur wordt gebruikt om te controleren of de gebruiker daadwerkelijk op linkbutton verstuur heeft gedrukt.

private void lnkBVerstuur_Click(object sender, System.EventArgs e){
            lblOut.Text = "Op de verstuur link button geklikt";
}

Onderstaande afbeelding toont het resultaat wanneer we de applicatie starten en in het formulier op enter drukken.


 


Download hier de source code.

Comments [0] | | # 
# Friday, 03 March 2006
Friday, 03 March 2006 07:21:08 (GMT Standard Time, UTC+00:00) ( )

This Blog is not active anymore, further posts will be available on my company website. Read new posts here

Comments [0] | | #