# Thursday, 01 April 2010

Today I got the message that my MVP got extended for another year. That’s great news and I’ll make sure to keep up the things that are community related during the coming year. A good example of this is that next week during my vacation to Lebanon I’ll be giving a presentation about MVC 2 for Lebdev, a local user group. It’ll be my first foreign talk so I’m looking towards to it with a lot of excitement.

Grz, Kris.

MVP
Thursday, 01 April 2010 22:13:00 (GMT Daylight Time, UTC+01:00)  #    Disclaimer  |  Comments [1]  | 
# Wednesday, 17 March 2010

The Silverlight 4 Training Course includes a whitepaper explaining all of the new Silverlight 4 RC features, several hands-on-labs that explain the features, and a 8 unit course for building business applications with Silverlight 4. The business applications course includes 8 modules with extensive hands on labs as well as 25 accompanying videos that walk you through key aspects of building a business application with Silverlight. Key aspects in this course are working with numerous sandboxed and elevated out of browser features, the new RichTextBox control, implicit styling, webcam, drag and drop, multi touch, validation, authentication, MEF, WCF RIA Services, right mouse click, and much more!

You can find the material here: http://channel9.msdn.com/learn/courses/Silverlight4/.

Grz, Kris.

Wednesday, 17 March 2010 09:06:39 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, 16 March 2010

Only yesterday I was viewing the MIX10 keynote at Microsoft Brussels via live stream and today I noticed on twitter that Charles Petzold has already put a preview content online of his upcoming book about the topic. Take a look here for a pdf or xps excerpt.

Grz, Kris.

Tuesday, 16 March 2010 14:01:41 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 

Microsoft launched .toolbox, a new site dedicated on learning Silverlight and Expression.

toolbox

.toolbox features two core learning paths: Design Scenarios and Design Principles. Both begin with teaching basic techniques and build skills and knowledge incrementally. In Design Scenarios, designers and developers learn to create dynamically-rich Silverlight applications using Expression Studio. You will learn to add code-free functionality to designs by following step-by-step tutorials that illustrate how to create interactive user experiences. In Design Principles, you will learn fundamental design concepts (e.g., choosing the right colors and the right fonts) along with tips and techniques in how to apply them to your creations.

One can go for either track and earn leves with that. Each track can be done one by one following a stack or go through the matrix:

toolbox_track

Grz, Kris.

Tuesday, 16 March 2010 13:23:55 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Sunday, 14 February 2010

The Visual Studio 2010 and .NET Framework 4 Training Kit includes presentations, hands-on labs, and demos. This content is designed to help you learn how to utilize the Visual Studio 2010 features and a variety of framework technologies including:

  • C# 4.0
  • Visual Basic 10
  • F#
  • Parallel Extensions
  • Windows Communication Foundation
  • Windows Workflow
  • Windows Presentation Foundation
  • ASP.NET 4
  • Windows 7
  • Entity Framework
  • ADO.NET Data Services
  • Managed Extensibility Framework
  • Visual Studio Team System
This version of the Training Kit works with Visual Studio 2010 RC and .NET Framework 4 RC.

Grab it here.

Grz, Kris.

Sunday, 14 February 2010 12:45:39 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, 27 January 2010

From the Swiss MSDN blog:

In this 108 page hands-on lab you will learn how to use Beta 2 of Visual Studio 2010 and Beta 1 of Microsoft Silverlight 4 to create a data driven line of business style rich internet application that implements many of the new features that Silverlight 4 introduces. We will base our solution on the Windows Communication Foundation (WCF) RIA Services.

The solution will be an order-management system that shows a list of orders in a data grid and details of a selected order in a details pane. The system will validate user entries and have the capabilities of printing order reports and exporting order lists to Microsoft Excel.

Download the hands-on lab manual in PDF and Word format, the database and the final sample solution.

These features are implemented in the lab:

  • True multi-tier architecture.
  • Entity framework and service layer definition.
  • Data filtering, paging, sorting and grouping.
  • Data modification and validation.
  • Foreign key management.
  • Projections.
  • Programmatic printing from a Silverlight application.
  • COM interop with Microsoft Excel and running full-trust out-of-browser.

Silverlight4WCFRIAServicesHandsOnLab

Grz, Kris.

Wednesday, 27 January 2010 07:33:33 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, 13 January 2010

While taking a look at the new Ajax library Microsoft put online I noticed at the bottom of a certain page a link to an interesting whitepaper: Building high performance websites. It’s an interesting read by James Senior and Dan Wahlin.

These are the main topics being discussed:

The Microsoft Ajax Content Delivery Network (CDN)
Loading ASP.NET Ajax Scripts
Loading jQuery Scripts
The ASP.NET Ajax Library Script Loader
Using the ASP.NET Ajax Script LoaderLoading Custom
Script Combining 
Using the Script Loader when Debugging 
Using the Script Loader's Lazy Loading Feature to increase performance 
JavaScript Application Performance Tools 
The Download Time Optimizer (Doloto) 
Microsoft Ajax Minifier
Internet Explorer JavaScript Profiler 
Internet Information Server 7 Compression and Caching Options 

Grz, Kris.

Wednesday, 13 January 2010 07:17:25 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Saturday, 05 December 2009

Yesterda I went to Kinepolis in Brussels for what was going to be a great afternoon. Scott Guthrie doesn’t come every year to Belgium, actually it was its second time, so when he does you better be there to hear what he’s talking about.

The guys from Visug did a great job preparing the event and had prepared a little fun ingredient for Scott. Everybody got to wear red polo shirts:

belgium_thumb_65DCE55C

The session itself covered the following topics:

For me personally it was a great opportunity to see and talk with Scott again after the last MVP summit and there was some pretty interesting content about web related technologies (my favorite). Microsoft’s really doing a great job for webdevelopers with brining out new tools, new little additions to a more maturing web platform (ASP.NET 4.0), investing in new ways to let developers develop close to the raw metal with MVC and making it possible for them to create compelling applications with Silverlight.

One of the nice intros about Silverlight is its streaming capabilities with a cool pixar style animation: http://www.iis.net/media/experiencesmoothstreaming.

 

Grz, Kris.

Saturday, 05 December 2009 04:12:00 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [1]  | 
# Wednesday, 02 December 2009

With a lot of ajax, sometimes too much, being used in modern web applications it usually means that also calculations or data is being kept on the client. That’s all great but sometimes one has to perform a postback to the server. When the browser unloads and all form data’s passed to the server the javascript variables that were living happily in the browser are lost. A possible solution is to use a hidden field to send it back and forth. Some source code explains this scenario better:

Markup:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="passjsdataviahiddenfield.aspx.cs" Inherits="betslap.passjsdataviahiddenfield" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.js" type="text/javascript"></script>
    <script type="text/javascript">

        $(document).ready(function () {
        
            $('#<%= btnGo.ClientID %>').click(function () {
                var txtValue = 'Hello ' + $('#<%= txtInput.ClientID %>').val();
                $('#<%= hidden1.ClientID %>').val(txtValue);
            });
        });
     
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:HiddenField runat="server" ID="hidden1" />
        Fill in your name please: <asp:TextBox runat="server" ID="txtInput" />
        <br />
        <asp:Button runat="server" ID="btnGo" Text="Go!" OnClick="btnGo_Click" />
        <br />
        <asp:Literal ID="Literal1" runat="server"></asp:Literal>
    </div>
    </form>
</body>
</html>

Codebehind:

using System;

namespace betslap
{
    public partial class passjsdataviahiddenfield : System.Web.UI.Page
    {
        protected void btnGo_Click(object sender, EventArgs e)
        {
            Literal1.Text = hidden1.Value;
        }
    }
}

In the markup I make use of the new CDN (Content Delivery Network) from Microsoft. In the piece of javascript that follows a click event is wired and to the button control. The value of the textbox prefixed with the string Hello is put in a local variable txtValue. Then that variable’s used to fill up the hidden field value attribute. Once the button gets clicked this value passing to the hidden field gets processed and then the postback occurs. There we set in the Click eventhandler, on the server, the text of the literal control to the text of the hidden field, in which we passed our javascript variable. The page gets processed, html is rendered and sent back to the browser. Both the value of the hidden field and the text of the literal are the same right now. This demonstrates the working.

Something else that I touched is this syntax:

<%= btnGo.ClientID %>

Since ASP.NET generates the ids of the html that gets rendered it can be sometimes something else than you expect. Especially when using master pages and javascript a lot of people get surprised with the, in their eyes, unpredictable behavior as it also generates a lot of prefixes. ASP.NET exposes the ClientID property on server controls which provides us with the rendered id on the client. With this line we inject that ClientID directly into the code of javascript, which gets rendered to the browser and there the correct id is always available.

To learn more about Microsoft CDN take a look at this page: http://www.asp.net/ajaxlibrary/CDN.ashx.

Grz, Kris.

ASP.NET | CDN | jQuery
Wednesday, 02 December 2009 20:46:59 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, 01 December 2009

Recently I got this book for a review. The book itself is ASP.NET 3.5 Content Management System Development by Packt publishing.

1847193617

The book’s right for the right kind of people: people who started with ASP.NET, played around with it and now want to learn more of some of the concepts of ASP.NET. This is definitely not a book for developers who’ve been doing some hardcore web development with ASP.NET themselves.

What I liked is the order in which the book’s written. All chapters follow nicely one after another and it shows in each chapter steps to either build on the former or how to refactor the previous code and for what reason.

Chapter 1: a quick and dirty file based CMS system with only one page gets created after how it’s shown how to set up and configuring IIS and ASP.NET.

Chapter 2 is a great refrehser, or introduction, of SQL statements and installing SQL Server Express 2005 as a database. What I really liked about this chapter’s something that mostly gets overseen: SQL injection. What its is and what .NET does to prevent it

Chapter 3 takes you through a basic multilayered architecture which will be implemented in the small, now database using, application. What I found a bit of a pity was the usage of typed datasets. In a world where one sees Microsoft moving more and more to Linq and Entity Framework this is a bit of a missed chance. On the other hand typed datasets is still used a lot in the industry. And as told before, this is a book for people having gone through beginner tutorials first. Also a good basis for further chapters is made with the new architecture which goes beyond a simple: here’s a page and some controls which connect directly to the database.

Chapter 4 introduces the reader to an important concept: security. How to configure sqlmembershipprovider, creating the database, making use of the aspnet_regsqltool, roles and making use of the login controls.

The next chapter shows how to create an articles module. An introduction to user controls, and making use of roles.

Chapter 6 leads the reader into the world of themes, master pages, skins and menus. First it’s shown how to add items directly with a wizard to the menu and then a more common approach’s used with sitemaps.

Chapter 7 is all about the fileupload control, working with files (image gallery) and creating RSS for your content management system. 

The fore last chapter’s more about finishing touches and adding reporting to the application, nice little additions. Also a couple of tips about SEO are highlighted (using the title and meta tags).

The last chapter goes into further possibilities: upgrading to a real full blown SQL Server edition, how to use base pages in the application and error handling.

 

What I liked about the book is the way the authors write, it’s technical content but with humor added on top. It’s a kind of book you’ll like to read when you want to get to know as an aspiring developer. The topic about SQL injection was a big plus for this book just to get people more aware about the problems that can arise with it.

Grz, Kris.

Tuesday, 01 December 2009 20:32:06 (GMT Standard Time, UTC+00:00)  #    Disclaimer  |  Comments [0]  |