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