January 2009 - Posts
ASP.NET MVC 1.0 RC can now be installed with Web Platform Installer: http://www.microsoft.com/web/channel/products/WebPlatformInstaller.aspx Here is a quick description of Web Platform Installer from the Web Platform Installer website: “The Web Platform Installer (Web PI) is a simple tool that installs Microsoft's entire Web Platform, including IIS, Visual Web Developer 2008 Express Edition, SQL Server 2008 Express Edition and the .NET Framework. Using the Web Platform Installer’s user interface, you can choose to install either specific products or the entire Microsoft Web Platform onto your computer. The Web PI also helps keep your products up to date by always offering the latest additions to the Web Platform.“ I tried it out and was...
A few months ago, I showed how you can alternate styles using CSS in a server-side ListView , by selecting the class depending on the remainder of the division of the data index by two. Well, you can do the exact same thing with the client-side DataView. Let’s first define the classes we’ll want to apply to the even and odd rows: tbody tr { background-color : #f0f0f0 ; } tbody tr.odd { background-color : #c0c0c0 ; } Then, we can use the class namespace to bind the presence of a CSS class to a Boolean condition: < tr class : odd ="{{ $index % 2 }}"> Within the context of the template, $index is the index of the current data item, so $index % 2 will be evaluated as 1 and 0 alternatively. For JavaScript, when evaluated in a Boolean...
As mentioned in our recent blog post on the ASP.NET MVC Release Candidate , our code-generation features (namely, Add Controller and Add View) now use the T4 (Text Template Transformation Toolkit) templating technology behind the scenes. Because users can customize the templates to a great extent, we wanted to make a post to bring everyone up to speed on T4. Template Locations and Template Override The Add Controller and Add View dialogs both perform code generation that use T4 templates behind the scenes. These templates can be modified to customize the generated code from these tools. You can find the templates at the following location: [Visual Studio Install Directory]\Common7\IDE\ItemTemplates\[CSharp | VisualBasic]\Web\MVC\CodeTemplates...
The .NET Zone just published an interview with Kry and me. Check it out: .NET Fireside Chats - Brad Abrams and Krzysztof Cwalina You can learn some interesting stuff about what lead to writing the first edition of the book, what a 'Framework' is and what the hardest framework design problems are. I'd love to hear your feedback and thoughts Oh, and they published a sample section of the book for free in PDF format. This is from Chapter 9 and covers LINQ guidelines . Enjoy! Read More...
Today we shipped the ASP.NET MVC 1.0 Release Candidate (RC). Click here to download it (or visit www.asp.net/mvc ). It works with both Visual Studio 2008 and Visual Web Developer 2008 (which is free). Today’s RC is the last public release of ASP.NET MVC that we’ll ship prior to the final “1.0” release. We expect to ship the final ASP.NET MVC 1.0 release next month. In addition to bug fixes, today’s build includes several new features. It also includes some refinements to existing features based on customer feedback. Please read the release notes that ship with the ASP.NET MVC download for full details on all changes. The release notes include detailed instructions on how to upgrade existing applications built...
Continuing in our weekly blog post series that highlights a few of the new additions to the Framework Design Guidelines 2nd edition .. This content is found in the Events and Callbacks section of Chapter 6: Designing for Extensibility. I am impressed by how simple new additions to the BCL can have such a large (and positive) effect on framework design. As these new advances come out, learn them and use them! DO use the new Func<…>, Action<…>, or Expression<…> instead of custom delegates, when defining APIs with callbacks. Func<…> and Action<…> represent generic delegates. The following is how .NET Framework defines them: public delegate void Action() public delegate void Action<T1...
The ASP.NET MVC 1.0 Release Candidate (RC) is finally out, and we wanted to give returning MVC users as well as new MVC users an overview of what the tooling in Visual Studio provides. The MVC 1.0 RC can be downloaded right now here ( Release Notes ). Please note that this release will work with both Visual Studio 2008 and Visual Web Developer Express 2008 SP1 (free download). In case you missed it, be sure to also read ScottGu’s blog post on the RC for some great information (including runtime changes!): http://weblogs.asp.net/scottgu/archive/2009/01/27/asp-net-mvc-1-0-release-candidate-now-available.aspx Project Templates The MVC installer provides project templates for use in Visual Studio. If you visit the new project dialog (File –>...
I’ve done some tricky work with delegates recently and I’ve had a hard time trying to reflect over the signature of a delegate type. I feel a little silly now that the solution to this has been provided to me by Eric Lippert . It’s actually quite simple, just reflect over the Invoke method: MethodInfo invoke = typeof ( Func < string , bool >).GetMethod( "Invoke" ); Console .WriteLine(invoke.ReturnType.Name); I hope this helps others… Read More...
Photosynth never fails to amaze me. Check this out! http://www.cnn.com/SPECIALS/2009/44.president/inauguration/themoment/ Read More...
Continuing in our weekly blog post series that highlights a few of the new additions to the Framework Design Guidelines 2 nd edition .. This content is found in the Extensibility Mechanisms section of Chapter 6: Designing for Extensibility. It is interesting to watch as new development methodologies become more popular and how the color the guidelines… CONSIDER using unsealed classes with no added virtual or protected members as a great way to provide inexpensive yet much appreciated extensibility to a framework. Developers often want to inherit from unsealed classes so as to add convenience members such as custom constructors, new methods, or method overloads. For example, System.Messaging.MessageQueue is unsealed and thus allows users...
More Posts
Next page »