Preparation and Training Material for MCTS 70-515

Earlier this month I passed MCTS: .NET Framework 4, Web Applications. After which I started receiving emails regularly asking about training kit or any preparation material for exam. So I thought may be its good idea to write a blog post on it instead of replying to emails individually.

So let’s discuss about the exam and how to prepare for it.

Exam Format:

The exam comprises of 50 Multiple Choice Questions (MCQs) with 70% marks as passing criteria.

Preparation Material:

As the exam was published some months back so obviously the training kit is not available yet. Well honestly there was no single book or training kit available to prepare. Overall I have gone through most of the following material for exam :

  1. Hands on: jQuery, ASP.NET Web forms and MVC 2


I think it would be good if you have 2+ years of experience of building web applications. Like me if you were a ASP.NET Web Form developer then you may simply need to learn some new features of ASP.NET 4 along with hands on MVC framework, jQuery etc.

Hope this helps!

Book Review: Professional ASP.NET MVC 2


Title: Professional ASP.NET MVC 2
Authors: Jon Galloway, Scott Hanselman, Phil Haack, Scott Guthrie, Rob Conery
Published By: Wrox

In my opinion, this book is a fast track to ASP.NET MVC written directly by the experts or rather ASP.NET team at Microsoft. If you are a professional ASP.NET web forms programmer and want to learn ASP.NET MVC then this book is certainly for you. However if you are novice to ASP.NET then this book is not recommended for you.

The book is written in a bit different style. Rather than starting with the hello world program, the book begins with first chapter dedicated to walkthrough of NerdDinner solution. For details about NerdDinner, please visit NerdDinner hosting site on Codeplex here. The first chapter of the book is also available free to download at

Of course going through the walkthrough of NerdDinner and understanding its working would not be enough for you. So the next chapters digs down into detail explanation of each section. Following is the outline of the book:

  • Introduction.
  • Chapter 1 NerdDinner
  • Chapter 2 Model-View-Controller and ASPNET
  • Chapter 3 ASPNET > ASPNET MVC
  • Chapter 4 Routes and URLs
  • Chapter 5 Controllers
  • Chapter 6 Views
  • Chapter 7 AJAX
  • Chapter 8 Filters
  • Chapter 9 Securing Your Application
  • Chapter 10 Test Driven Development with ASPNET MVC
  • Chapter 11 Testable Design Patterns
  • Chapter 12 Best of Both Worlds: Web Forms and MVC Together
  • Chapter 13 What’s New in ASPNET MVC 2
  • Index

What I like most in the book is that the authors have not only discussed the technology but they have also shared the perspective of the ASP.NET Product Team on different topics through “Product Team Aside boxes”.

The sample code of book is available to download from wrox site.

Overall if you have some experience working with ASP.NET Web Forms site and wanted to learn ASP.NET MVC or upgrade to ASP.NET MVC 2, this book is highly recommended for you.

MCTS – 70-515, Web Application Development .NET 4

I am pleased to share that I have successfully passed the exam “TS 70-515- Web Application Development using Microsoft .NET Framework 4” and therefore become Microsoft Certified Technology Specialist for building .NET Framework 4, Web Applications.

The exam comprises of 50 questions and major focus was on new stuff such as ASP.NET MVC, jQuery, Dynamic Data Websites, ASP.NET web forms 4 etc. Click here to see the overall skills measured. In the end, since I passed, it was a good.

You can download the Visual Studio 2010 Certification(s) Path (pdf) from here. Since currently there are no training kits available for .NET 4 exams, if you are interested in giving exam, please feel free to contact me I will be glad to share my experience in preparing for .NET 4 exams.

Next Target –> MCTS – 70-513

Book Review: Professional Enterprise .NET – Wrox

Professional Enterprise .NET Cover

Book Title: Professional Enterprise .NET
Authors: Jon Arking and Scott Millet
Publisher: Wrox

I must say one of the best book I have read on Enterprise Design and Code. The author did very well in explaining how to write flexible, extensible code. If you are a mid level .NET developer and you are curious enough to think about more flexible, testable and extensible applications, you will definitely love this book.

This book covers some of the very exciting topics such as Separation of Concerns, Flexibility, Reusability, Unit Testing, Test Driven Development, Inversion of Control, Domain-Driven, Data access layer, Model-View Presenter, Model-View-Controller. Although it may sounds dry but the author did a great job in keeping me stick to the book. After so many time, this was the book which kept me reading it until i finished it.

The book started with the discussion on What is Enterprise Architecture and Development? Then with an example of Mortgage Loan sample application, the author have applied above mention topics and concepts.

You can also download code of this book from codeplex site.

All in all, I think that it’s worth investing time and money on this book and it’s really a comprehensive guide to the latest enterprise development patterns and methodologies that will make your code cleaner and maintainable.

Event Details: How We Build Applications in Industry

Today, 14th April 2010, I participated as speaker in the event “How We Build Applications in Industry” organized by DevNext volunteers at UIT.

The purpose of this session was to share with students the good practices we follow in Industry when developing a web applications. I would like to thank all the students for their time and interest.

To read further about the event, please visit DevNext UG blog here.

Event Details: Web Programming Concepts using ASP.NET

Being User Group Leader of DevNext, I participated as speaker in the event “Web Programming Concepts using ASP.NET” organized by DevNext volunteers at NED University of Engineering and Technology on 3rd April, 2010.
The overall objective of the session was to give students concepts of web programming such as HTTP Requests, HTML Forms, Role of Web Server, IIS, ASP.NET, PostBack, ViewState etc.
I was really glad to see the interest of the students. Even when the lecture hall was full, the students were sitting on the floor to attend the event and that really motivates me in doing community events. Also this was the first event in which the students asked so many questions and they were really trying to comprehend the topics.
I appreciate all the efforts by the DevNext Volunteers in NED University and their passion to learn. They really organized the event very well. Thanks everyone!

DevNext Volunteers
To read further details about the event, check out DevNext Blog here.

Microsoft Ajax Minifier

One good thing I came across at the Microsoft MVP Summit is that Microsoft released Ajax Minifier, a tool to compress the size of Javascript (.JS) and Cascading Style Sheets (.CSS) files. Later I found a Scott Gu post on it.

The Microsoft Ajax Minifier is a small tool to remove unnecessary content from your js or css file. It can bring down the size of js file by 60%. You can download the Ajax Minifier from here.

After installing the tool, you will get a command prompt


and let’s say I have a js file with name “Validations.js” Let’s try minifying the file using this tool

A point to note here is:
Original Size: 7710 bytes; reduced size: 4918 bytes (36.2% minification)
Gzip of output approximately 1586 bytes (67.8% compression)

Currently the Ajax Minifier ships with two modes of

  1. Normal Crunching
  2. Hyper Crunching

With normal mode, it removes extra whitespace, all comments etc. When you use Hyper crunching mode it takes some more additional steps that includes shorting the name of local variables etc.

In order to use hyper crunching mode you need to add –hc switch in the command line. For instance:

ajaxmin validations.js –hc –o validations.min.js

So go ahead and try it out. Another great thing is that Ajax Minifier can be integrated with Visual Studio as well, which I will cover in the next post.

Microsoft Web Days

We had a fantastic time at Microsoft Web Days on 27th January, 2010 at Microsoft Innovation Center, Karachi – Pakistan organized by Microsoft Pakistan DPE Team.

Naveed Bajwa The event started with WebsiteSpark overview by Naveed Bajwa, DPE Lead – Microsoft Pakistan. Naveed talked about what are the benefits this program offers and which companies are eligible for this program.

Audience also raised few concerns on WebsiteSpark program and also discussed how Microsoft is validating startup companies. The eligibility of this program was also discussed thoroughly with the audience.


Jibran JamshadJibran Jamshed, Technology Consultant at Microsoft Innovation Center – Pakistan, demonstrated cool features of Internet Explorer 8 such as Web slices, accelerator etc.

He also talked about IE 8 performance comparison with other browsers. An interesting part was making of configurable deployment setup for enterprises for IE 8.



Zia Khan - MVP

Zia Khan, Microsoft MVP, discussed web development on Silverlight, ASP.NET MVC and Windows Azure. He started my discussing ideal client and server side platform then moved on to ASP.NET MVC and what are its major advantages.

Zia also emphasis on the power and autonomy that Cloud computing gives to developers and encouraged developers to start their own development setup.



Wajahat AbbasWajahat Abbas gave presentation on SharePoint and www. He talked about SharePoint online services, hosting and also discussed on Cloud Computing.

The best part I liked of his presentation was not related to SharePoint but a quote of German philosopher he shared in the end. I would like to quote here as well 🙂


“A pigeon in its flight considers the air to be the only hindrance in its way; it imagines that had there been no air it would have flown faster and with greater ease. Yet without the air it would have been unable to fly in a vacuum and would fall to the ground. Hence the same element that poses resistance to the pigeon in its flight is basically that which makes flight at all possible.“ Kant – German Philosopher

Finally, Aleem Bawany, General Manager – Online Strategy and Development – Express News, talked about current trends in web development. His gave special emphasis on what experience user expect in current time from your web site. He also discussed the importance of client side programming for better user experience.

Last but not least, Jehan ara, President PASHA, gave a keynote in the end encouraging Microsoft Pakistan and developers community.

I really enjoyed the show and it was well organized. Microsoft Pakistan is really rocking these days and I hope they will bring more detail technical events in the upcoming days.

Real World Scenario: Month Based Selection using AJAX Calendar Extender

Often we get requirement of enabling only month based selection in calendar control in which a calendar should display only month instead of dates or you can say a calendar that allow users to pick month only. This can be achieved by manipulating functionality of AJAX Calendar extender using JavaScript.

First, you need to set the behaviorID property of Calendar extender control and add two event handler “OnClientHidden” and “OnClientShown”. For instance,

<asp:TextBox ID="txtDate" runat="server" ReadOnly="false" onfocus="AjaxDateOnFocus(this);" Width="60px" onblur="AjaxDateOnBlur(this);" />
cc1:CalendarExtender ID="ctxtDate" runat="server" TargetControlID="txtDate" Format="MMM-yyyy" OnClientHidden="onCalendarHidden" OnClientShown="onCalendarShown" BehaviorID="calendar1" />

Now use the following JavaScript with respective BehaviorID

function onCalendarShown() {
var cal = $find("calendar1"); //Setting the default mode to month
cal._switchMode("months", true); //Iterate every month Item and attach click event to it
if (cal._monthsBody) {
for (var i = 0; i < cal._monthsBody.rows.length; i++) {
var row = cal._monthsBody.rows[i];
for (var j = 0; j < row.cells.length; j++) {
Sys.UI.DomEvent.addHandler(row.cells[j].firstChild, "click", call);

function onCalendarHidden() {
var cal = $find("calendar1");
//Iterate every month Item and remove click event from it
if (cal._monthsBody) {
for (var i = 0; i < cal._monthsBody.rows.length; i++) {
var row = cal._monthsBody.rows[i];
for (var j = 0; j < row.cells.length; j++) {
Sys.UI.DomEvent.removeHandler(row.cells[j].firstChild, "click", call);

function call(eventElement) {
var target =;
switch (target.mode) {
case "month":
var cal = $find("calendar1");
cal._visibleDate =;

That’s all 🙂 and your calendar extender will now look like



Please note that the script is partially taken from

Book Review: Professional ASP.NET 3.5 SP1 – Wrox

I received a review copy of Professional ASP.NET 3.5 SP1 by Wrox, through Emerging .NET Devs User Group. So thank you Wrox and Emerging .NET Devs.

Title: Professional ASP.NET 3.5 SP1 in C# and VB

Authors: Bill Evjen, Scott Hanselman and Devin Rader

ISBN: 978-0-470-47826-4

Publisher: Wrox

“I would say this book, written by ASP.NET experts, is one of the most comprehensive book for professionals not only for ASP.NET 3.5 SP1 but it also covers detail overview of all the new features which .NET 3.5 SP1 offers such as LINQ, Entity Framework, IIS7, WCF, ADO.NET Data Services, ASP.NET AJAX and ASP.NET AJAX control toolkit as well.

The initial 6 chapters cover some of the basic topics for developing ASP.NET Websites:

  • Chapter 1: Application and Page Framework
    • Describing fundamentals like Page directives, page events, application folders and working with classes using VS 2008
  • Chapter 2: ASP.NET Server Controls and Client-Side Scripts
    • The first part of the chapter covers what and how will you use ASP.NET server controls and HTML Server controls. The second part focuses on Client Side scripting discussing about using JavaScript to manipulate server controls and callback mechanism
  • Chapter 3: ASP.NET Web Server Controls
    • This chapters introduces server controls in detail, both their functionality and usage
  • Chapter 4: Validation Sever Controls
    • Describing validation and server controls, provided out of the box with ASP.NET, to easily incorporate validation in your website
  • Chapter 5: Working with Master Pages
  • Chapter 6: Themes and Skins

After covering fundamentals and core concepts, the authors moved towards the area of working with Data such as Data Binding, ADO.NET, LINQ etc. This book is well organized and let reader to have knowledge from fundamentals to advance concepts.

The book comes with a CD containing a PDF version of this book along with 7 free eBooks that normally worth USD 7 each. Another good point of this book are appendixes.

  • Appendix A: Migrating Older ASP.NET Projects
  • Appendix B: ASP.NET Ultimate Tools
  • Appendix C: Silverlight 2 and ASP.NET
  • Appendix D: ASP.NET is Greater than ASP.NET MVC
  • Appendix E: ASP.NET online resources

Overall, The book is a great package for the ASP.NET developers. However, if you are new to the ASP.NET world or web development then I would not recommend this book for you. Check out some Beginners’ series by Wrox or other publishers.”