Alliagator Tags Archive for Friday, March 7 2008



DotNetKicks.com Links
Common ASP .net performance myths ... Common ASP .net performance mythsGo
ASP.NET For Beginners: This funny <%# and <%= markup ... Everybody who starts to learn ASP.NET techniques ask the question: What is <%= and <%# What is the difference, and how to use this?Go
Cold, Hard, Cache! ... Don't get me wrong, I really like the Asp.Net Cache (or HttpRuntime.Cache or Uncle Daddy if you want to call it that... you're a little odd aren't you?), but sometimes it just can't be trusted. I mean, I just gave you (the cache) my precious object a second ago and now you claim you don't have it? Did you lose it? Did you sell it on eBay? Did you pawn it to support your habit? Please at least tell me you got a decent price for it.Go
Take Row-Level Control of Your GridView ... This article explains how to use the events and properties of the GridView in order to customise the way the data appears.Go
Converting HTML font sizes to pixels ... Among other properties WebControl has a Font property of FontInfo type which in turn has a Size property of FontUnit type. Users can set the yourControl.Font.Size to any HTML/CSS compatible value from 12pt to 1.2em to x-large. This is all fine while your control outputs plain HTML but what happens if your controls front-end is Flash?Go
ScriptCombining Feature ... The new ScriptCombining feature to combing the scripts into a single request that saves the round trip time and compresses better.Go
Solution to ASP.NET Form - PayPal Problem ... They do say it's the simple things that get you stumped. For all of you ASP.NET developers out there who have yet to integrate a site with PayPal, just wait until you finally get to add that button to your form to pass the transaction details over to PayPal..Go
Generating markup to display a scaled image ... An easy way to fit images within a specified area.Go
Improve ASP.NET performance by optimizing the request pipeline ... How to remove unecessary HttpModules from the request pipeline to improve performanceGo
Sensible Debugging in IE 8 ... One thing that caught my attention in the IE 8 notes and that eventually made me download and install it is that it will feature the Developer Toolbar which has been an add-in for previous IE versions as a built in tool. Not only that but IE 8 includes a very FireBug-like debugger that can be easily hooked up to page content. This is a very worthwhile improvement IMHO because the debugging...Go
How to deliver ASP.NET Themes as a single, optimized resource ... This full-length article will show you how to silently switch ASP.NET Theme's linked CSS files into a single minified, compressed, and cached resource. Maintain as many theme style files as you like, using this handler to cut down on HTTP requests, decrease size, and improve performance automatically.Go
New ActionFilterAttribute in ASP.NET MVC Framework ... I remember Scott Guthrie mentioning the ability to add filters to your controller actions, so immediately after downloading the ASP.NET MVC Framework Preview 2 I opened up Reflector and found a new ActionFilterAttribute in System.Web.Mvc...Go
ASP.NET MVC TCC 2 and Silverlight 2.0 Beta Now Available ... On the occasion of MIX'08, Microsoft has made available for us developers community two of the most highly anticipated previews of the moment. First we have one hand, and always welcome the preview of the second frame model-view-controller...Go
The Lack of ASP.NET Events ... Some limitations of th ASP.NET page lifecycleGo
Delicious tagged ASP.NET Links
CodeProject: 10 ASP.NET Performance and Scalability Secrets. Free source code and programming helpGo
Top 10 Best Practices for Production ASP.NET Applications - Daptivate > by Kyle BeyerGo
Scott Hanselman's Computer Zen - ASP.NET MVC Preview 2 Screencast TutorialsGo
Why my ASP.NET AJAX forms are never submitted twice | EncosiaGo
ScottGu's Blog : Tip/Trick: Url Rewriting with ASP.NETGo
Building a Simple Blog Engine with ASP.NET MVC and LINQ - Part 1: ASP AllianceGo
ASP.NET 3.5 Extensions Videos : The Official Microsoft ASP.NET SiteGo
7 ways to do Performance Optimization of an ASP.NET 3.5 Web 2.0 portalGo
DevASP.NET for ASP.NET, VB.NET, XML and C# (C-Sharp) DevelopersGo
ASP.NET WikiGo
Web Client Software FactoryGo
http://aspnet.4guysfromrolla.com/articles/022708-1.aspxGo
Creating a Simple Site Wide User Notification PatternGo
Coolite Inc. - ASP.NET Web ControlsGo
Scott Gu Blog Links
First Look at Using Expression Blend with Silverlight 2 ... Last week I did a First Look at Silverlight 2 post that talked about the upcoming Silverlight 2 Beta1 release.  In the post I linked to some end-to-end tutorials I've written that walk through some of the fundamental programming concepts behind Silverlight and WPF, and demonstrate how to use them to build a "Digg Search Client" application using Silverlight: Part 1: Creating "Hello World" with Silverlight 2 and VS 2008 Part 2: Using Layout Management Part 3: Using Networking to Retrieve Data and Populate a DataGrid Part 4: Using Style Elements to Better Encapsulate Look and Feel Part 5: Using the ListBox and DataBinding to Display List Data Part 6: Using User Controls to Implement Master/Details Scenarios Part 7: Using Templates to Customize Control Look and Feel Part 8: Creating a Digg Desktop Version of our Application using WPF In this first set of Silverlight tutorials I didn't use a visual design tool to build the UI, and instead focused on showing the underlying XAML UI markup (which I think helps to explain the core programming concepts better).  Now that we've finished covering the basics - let's explore some of the tools we can use to be even more productive. Expression Blend Support for Silverlight In addition to releasing the upcoming Beta1 of Silverlight 2, we are also going to ship Visual Studio 2008 and Expression Studio tool support for targeting it.  These tools will offer a ton of power for building RIA solutions, and are designed to enable developers and designers to easily work on projects together. In today's post I'm going to introduce some of the features in the upcoming Expression Blend 2.5 March preview.  After demonstrating some of the basics of how Blend works, we are going to use it to build a cross-platform, cross-browser Silverlight IM chat client: The above screen-shot shows what the application looks like at runtime on a Mac.  Below is a screen-shot of what it looks like at design-time within Expression Blend: We'll use Expression Blend to graphically construct all of the UI for the application, as well as use it to cleanly data-bind the UI to .NET classes that represent our chat session and chat messages. All of the controls we'll use to build the chat application are built into Beta1 of Silverlight 2. Disclaimer: I am not a designer (nor am I cool) Let me say up front that I am a developer and not a designer.  I'm also not very cool.  While I understand the techniques to create UI, I sometimes choose bad colors and fonts when putting it together (only after I did all the screen-shots for this post did a co-worker helpfully point out that there is actually a site dedicated to banning some of the fonts and colors I used . Ouch). For those of you with artistic skill out there - please be gentle with me and focus your attention on the features and techniques I demonstrate below, rather than on the font and color choices I use. :-) Getting Started: Creating a new Silverlight 2 Project Expression Blend and Visual Studio 2008 share the same solution/project file format, which means that you can create a new Silverlight project in VS 2008 and then open it in Expression Blend, or you can create a new Silverlight project in Expression Blend and open it in VS.  You can also have both Expression Blend and VS 2008 open and editing the same project as the same time. Since in my previous Silverlight tutorial series I already showed how to create a new Silverlight project using VS 2008, let's use this post to show how to create a new Silverlight application using Expression Blend.  To do this, simply choose File->New Project in Expression Blend, select the "Silverlight 2 Application" icon, and click ok: This will create a new (VS-compatible) solution file and Silverlight application project: Blend includes a full WYSIWYG designer for Silverlight 2 applications.  When opening Silverlight pages and controls you can switch the design-surface to be in design vieGo
First Look at Silverlight 2 ... Last September we shipped Silverlight 1.0 for Mac and Windows , and announced our plans to deliver Silverlight on Linux.  Silverlight 1.0 focused on enabling rich media scenarios in a browser, and supports a JavaScript/AJAX programming model. We are shortly going to release the first public beta of Silverlight 2, which will be a major update of Silverlight that focuses on enabling Rich Internet Application (RIA) development.  This is the first of several blog posts I'll be doing over the weeks and months ahead that talk in more depth about it. Cross Platform / Cross Browser .NET Development Silverlight 2 includes a cross-platform, cross-browser version of the .NET Framework, and enables a rich .NET development platform that runs in the browser.  Developers can write Silverlight applications using any .NET language (including VB, C#, JavaScript, IronPython and IronRuby).  We will ship Visual Studio 2008 and Expression Studio tool support that enables great developer / designer workflow and integration when building Silverlight applications. This upcoming Beta1 release of Silverlight 2 provides a rich set of features for RIA application development.  These include: WPF UI Framework : Silverlight 2 includes a rich WPF-based UI framework that makes building rich Web applications much easier.  In includes a powerful graphics and animation engine, as well as rich support for higher-level UI capabilities like controls, layout management, data-binding, styles, and template skinning.  The WPF UI Framework in Silverlight is a compatible subset of the WPF UI Framework features in the full .NET Framework, and enables developers to re-use skills, controls, code and content to build both rich cross browser web applications, as well as rich desktop Windows applications. Rich Controls : Silverlight 2 includes a rich set of built-in controls that developers and designers can use to quickly build applications.  This upcoming Beta1 release includes core form controls (TextBox, CheckBox, RadioButton, etc), built-in layout management panels (StackPanel, Grid, Panel, etc), common functionality controls (Slider, ScrollViewer, Calendar, DatePicker, etc), and data manipulation controls (DataGrid, ListBox, etc).  The built-in controls support a rich control templating model, which enables developers and designers to collaborate together to build highly polished solutions. Rich Networking Support : Silverlight 2 includes rich networking support.  It includes out of the box support for calling REST, WS*/SOAP, POX, RSS, and standard HTTP services.  It supports cross domain network access (enabling Silverlight clients to directly access resources and data from resources on the web).  Beta1 also includes built-in sockets networking support. Rich Base Class Library : Silverlight 2 includes a rich .NET base class library of functionality (collections, IO, generics, threading, globalization, XML, local storage, etc).  It includes rich APIs that enable HTML DOM/JavaScript integration with .NET code.  It also includes LINQ and LINQ to XML library support (enabling easy transformation and querying of data), as well as local data caching and storage support.  The .NET APIs in Silverlight are a compatible subset of the full .NET Framework. Silverlight 2 does not require the .NET Framework to be installed on a computer in order to run.  The Silverlight setup download includes everything necessary to enable all the above features (and more we'll be talking about shortly) on a vanilla Mac OSX or Windows machine.  The Beta1 release of Silverlight 2 is 4.3MB in size, and takes 4-10 seconds to install on a machine that doesn't already have it.  Once Silverlight 2 is installed you can browse the Web and automatically run rich Silverlight applications within your browser of choice (IE, FireFox, Safari, etc). Silverlight 2 Tutorials: Building A Simple Digg Client To help people come upGo
.NET 3.5 Client Product Roadmap ... A few months ago I did a .NET Web Product Roadmap blog post where I outlined some of the product plans we have to build on top of the web development features we’ve shipped with Visual Studio 2008 and .NET 3.5. Over the next few months we will also be releasing a number of enhancements specific to client development as well.  We have put a lot of effort into addressing some of the biggest areas of customer feedback, while also trying to really push the envelope on the capabilities developers have when building Windows applications. All of these improvements build on top of VS 2008 and .NET 3.5, and will make .NET client development even better going forward. Below is a roadmap of some of the upcoming releases we have planned for the months ahead: Improved .NET Framework Setup for Client Applications One of the biggest asks we’ve had over the years from customers and ISVs building client applications is to make the setup and installation of the .NET Framework easier and faster. This summer we are going to ship a new setup framework for .NET that makes it easier to build optimized setup packages for client applications. This setup framework can be integrated with existing installation frameworks (for example: products like InstallShield), and enables a smaller and faster end-user setup experience of the .NET Framework. Windows Forms and WPF client applications will be able to use this setup framework to cleanly “bootstrap” getting the .NET Framework installed onto machines. The setup “bootstrap” utility will support automatically downloading the minimal set of .NET Framework packages needed to enable .NET 3.5 client applications on a machine. For example, if a user already has .NET 2.0 installed on their machine, setup will be smart enough to automatically download only the upgrade patches necessary to update .NET 2.0 to 3.5 (and not have to re-download the components already provided by .NET 2.0). This will significantly shrink the payload size of client setup programs, and speed up the installation experience. We’ll also be delivering improvements that enable a more integrated application install experience for both MSI and ClickOnce based solutions, and support a more consumer friendly user experience that is easy to build. Improved Working Set and Startup Improvements for .NET Client Applications One of the other common asks we receive is to enable .NET client applications to launch faster in “cold startup” scenarios. “Cold startup” scenarios occur when no other .NET client applications are running (or have recently run) on a machine, and require the OS to load lots of pages (code, static data, registry, etc) from disk. If you are loading a large .NET client application or library, or are using a slow disk, these cold startup scenarios can require many seconds for your application to start. This summer we are going to ship a servicing update to the CLR that makes some significant internal optimizations in how we optimize our data structures to cut down on disk IO and improve memory layout when loading and running applications. Among many other benefits, this work will significantly improve the working set and cold startup performance of .NET 2.0, 3.0 and 3.5 applications and will dramatically improve end-user experiences with .NET-based client applications. Depending on the size of the application, we expect .NET applications to realize a cold startup performance improvement of between 25-40%. Applications do not need to change any code, nor be recompiled, in order to take advantage of these improvements so the benefits are automatic. WPF Performance Improvements This summer we are also planning to release a servicing update to WPF that includes a bunch of performance optimizations that improve its text, graphics, media and data stack. These include: - Moving the DropShadow and Blur bitmap effects, which are currently software rendered, to be hardware accGo
Feb 17th Links: ASP.NET, ASP.NET AJAX, Visual Studio, .NET ... Here is the latest in my link-listing series .  Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past. ASP.NET Top 10 Best Practices for Production ASP.NET Applications : Kyle has a nice post that summarizes a number of good best practices to follow when deploying your ASP.NET applications into production. Paging Through Data with the ASP.NET 3.5 ListView and DataPager Controls : Scott Mitchell continues his excellent series on the new ASP.NET 3.5 data control features.  In this latest article he shows how to page using the ListView and DataPager controls. ASP.NET AJAX How to install and use the ASP.NET AJAX Control Toolkit in VS : Nannette Thacker has a nice post that details step-by-step how to install and use the ASP.NET AJAX Control Toolkit controls within Visual Studio or Visual Web Developer. JavaScript Stack Traces in ASP.NET AJAX and JavaScript Error Publishing using ASP.NET AJAX : Joel Rumerman has put together two nice posts that detail some god ways to capture JavaScript stack trace information, as well as to report JavaScript errors using ASP.NET AJAX. ASP.NET AJAX History Tutorials : Jonathan Carter has published a good series of tutorials that demonstrate how to use the new ASP.NET AJAX History support that we'll be shipping later this year (it is currently available in the ASP.NET Extensions CTP download).  This enables you to add forward/back button navigation support within AJAX applications. Using JQuery with VS 2008 JavaScript Intellisense : One of the improvements we shipped in our recent VS 2008 Hotfix Roll-Up last week was to address issues with JavaScript intellisense support for JQuery (another popular AJAX framework).  Brennan Stehling, James Hart, and Lance Fisher have done blog posts recently that discuss how to enable even richer JQuery intellisense inside VS 2008 using intellisense-friendly JQuery libraries that are referenced while coding (and then swapped out for the real library at runtime).  You can read their blog posts about how this works here and here and here . ASP.NET MVC Tip: Submitting an AJAX Form with JQuery : While on the subject of JQuery, I thought I'd link to a post in Mike Bosch's ASP.NET MVC series that shows how you can integrate JQuery in the browser on the client with the ASP.NET MVC framework on the server. Visual Studio Visual Studio Programmer Themes Gallery: Visual Studio enables you to customize the color settings of the text editor and IDE, as well as to export and import the settings (use the Tools->Import and Export Settings menu to do this).  Scott Hanselman has a great post that provides previews of a bunch of cool pre-built themes that people have published that you can download and use for free. Did you know: the Solution Explorer Supports Type-Ahead Selection : Sara Ford has another nice post in her series on Visual Studio tips and tricks.  This post talks about a shortcut you can use to quickly select files in the solution explorer. Code Profiler Analysis in VS 2008 : Maarten Balliauw has a nice post that describes how to use the code profiling features in the Developer edition of Visual Studio Team System to analyze code performance. Visual Studio Team System 2008 Database Edition Power Tools : Greg Duncan posts about the new power tools download that has been released by Microsoft and which delivers a bunch of cool new database development features for the Database editions of Visual Studio Team System. Japanese Release of VS 2008 Web Deployment Projects : Late last month I announced the release of the VS 2008 Web Deployment Project support.  This past week the team also released a localized Japanese version of it.  Note: you can read a Japanese translated version of my blog here (thanks Chica!). .NET LINQ to JSON , LINQ to SharePoint , LINQ to Active Directory , LINQ to TerraServer , LINQ to FlickR : Just a few of the new LINQ providers now availableGo
ASP.NET MVC Framework Road-Map Update ... This past December we released the first preview of a new ASP.NET MVC Framework as part of the ASP.NET 3.5 Extensions CTP Release . I also wrote a number of blog posts that provide more detail on what the ASP.NET MVC framework is and how you can optionally use it: Introducing the ASP.NET MVC Framework ASP.NET MVC Tutorial (Part 1) ASP.NET MVC Tutorial (Part 2: Url Routing) ASP.NET MVC Tutorial (Part 3: Passing ViewData from Controllers to Views) ASP.NET MVC Tutorial (Part 4: Handling Form Edit and Post Scenarios) We've had great feedback on the framework since then, and had a ton of downloads and excitement around it.  One of the common questions people have asked me recently is "when will a new build be released and what will be in it?". The below post provides a few updates on what the ASP.NET MVC feature team has been working on, and some of the new features that will be available soon.  I'm going to do a separate blog post in the future that will cover the new ASP.NET Dynamic Data and ASP.NET AJAX feature work that is progressing along nicely as well.  All of these features (ASP.NET MVC, ASP.NET Dynamic Data, and the new ASP.NET AJAX improvements) will ship later this year and work with VS 2008 and .NET 3.5. Upcoming ASP.NET MVC MIX Preview Release We are planning to release the next public preview of ASP.NET MVC at the MIX 08 conference in a few weeks.  This build will be available for anyone on the web to download (you do not need to attend MIX to get it).  We have incorporated a lot of early adopter feedback into this release.  Below are some of the improvements that will appear with this next preview release: 1) The ASP.NET MVC Framework can be deployed in the \bin directory of an app and work in partial trust The first ASP.NET MVC preview release required a setup program to be run on machines in order for the System.Web.Mvc.dll assembly to be registered in the machine's GAC (global assembly cache). Starting with this upcoming preview release we will enable applications to instead directly reference the System.Web.Mvc.dll assembly from the application's \bin directory.  This means that no setup programs need to be run on a sever to use the ASP.NET MVC Framework - you can instead just copy your application onto a remote ASP.NET server and have it run (no registration or extra configuration steps required). We are also doing work to enable the ASP.NET MVC framework to run in "partial/medium trust" hosting scenarios.  This will enable you to use it with low-cost shared hosting accounts - without requiring the hosting provider to-do anything to enable it (just FTP your application up and and it will be good to run - they don't need to install anything). 2) Significantly enhanced routing features and infrastructure One of the most powerful features of the ASP.NET MVC framework is its URL routing engine (I covered some of these features here ). This upcoming ASP.NET MVC preview release contains even more URL routing features and enhancements.  You can now use named routes (enabling explicit referencing of route rules), use flexible routing wildcard rules (enabling custom CMS based urls), and derive and declare custom route rules (enabling scenarios like REST resources mappings, etc). We have also factored out the URL routing infrastructure from the rest of the MVC framework with this preview, which enables us to use it for other non-MVC features in ASP.NET (including ASP.NET Dynamic Data and ASP.NET Web Forms). 3) Improved VS 2008 Tool Support The first ASP.NET MVC preview had only minimal VS 2008 support (basically just simple project template support). This upcoming ASP.NET MVC preview release will ship with improved VS 2008 integration.  This includes better project item templates, automatic project default settings, etc.  We are also adding a built-in "Test Framework" wizard that will automatically run when you create a new ASP.NET MVC Project via the File->New PrGo
VS 2008 Web Development Hot-Fix Roll-Up Available ... One of the things we are trying to do with VS 2008 is to more frequently release public patches that roll-up bug-fixes of commonly reported problems.  Today we are shipping a hot-fix roll-up that addresses several issues that we've seen reported with VS 2008 and Visual Web Developer Express 2008 web scenarios. Hot Fix Details You can download this hot-fix roll-up for free here (it is a 2.6MB download).  Below is a list of the issues it fixes: HTML Source view performance Source editor freezes for a few seconds when typing in a page with a custom control that has more than two levels of sub-properties. “View Code” right-click context menu command takes a long time to appear with web application projects. Visual Studio has very slow behavior when opening large HTML documents. Visual Studio has responsiveness issues when working with big HTML files with certain markup. The Tab/Shift-Tab (Indent/Un-indent) operation is slow with large HTML selections. Design view performance Slow typing in design view with certain page markup configurations. HTML editing Quotes are not inserted after Class or CssClass attribute even when the option is enabled. Visual Studio crashes when ServiceReference element points back to the current web page. JavaScript editing When opening a JavaScript file, colorization of the client script is sometimes delayed several seconds. JavaScript IntelliSense does not work if an empty string property is encountered before the current line of editing. JavaScript IntelliSense does not work when jQuery is used. Web Site build performance Build is very slow when Bin folder contains large number of assemblies and .refresh files with web-site projects. Installation Notes For more information on how to download and install the above patch, please read this blog post here .  In particular, if you are using Windows Vista with UAC enabled, make sure to extract the patch to a directory other than "c:\" (otherwise you'll see an access denied error). To verify that this hot-fix patch successfully installed, launch VS 2008 and select the Help->About menu item.  Make sure that there is an entry that says ‘Hotfix for Microsoft Visual Studio Team System 2008 Team Suite – ENU (KB946581)’.  If you ever want to remove the patch, go to Control Panel -> Add/Remove Programs and select “Hotfix for Microsoft Visual Studio 2008 – KB946581” under Microsoft Visual Studio 2008 (or Visual Web Developer Express 2008) and click “Remove". Summary Obviously it goes without saying that we would have liked to have shipped without any bugs.  Hopefully this hot-fix enables you to quickly solve them if you are encountering them.  Thank you to those who helped us identify the causes of these issues, as well as to the group of customers who have helped us verify the above fixes the last few weeks. Note: If you do encounter issues with VS 2008 features for web development in the future, I recommend always asking for help in the VS 2008 Forum on www.asp.net .  The VS Web Tools team actively monitors this forum and can provide help. Hope this helps, ScottGo
Feb 6th Links: ASP.NET, ASP.NET AJAX, Visual Studio, .NET, WPF ... Here is the latest in my link-listing series .  Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past. ASP.NET ASP.NET Security Tutorial Series : Scott Mitchell (who wrote the excellent Data Access Tutorial Series for us last year), has recently begun a new free tutorial series focused on ASP.NET Security.  Today we published the first three article in the series on the www.asp.net site: ASP.NET Security Basics , Overview of Forms Authentication , and Forms Authentication Configuration and Advanced Topics .  For even more ASP.NET Security Information, please check out the security tutorials I've also done on my ASP.NET Tips, Tricks and Tutorials page . 10 ASP.NET Performance and Scalability Secrets : Omar Al Zabir, the CTO and co-founder of www.pageflakes.com (a Web 2.0 portal site built with ASP.NET), has written another in his excellent series of articles on ASP.NET and ASP.NET AJAX.  This article discusses tips and tricks to maximize ASP.NET performance and scalability.  To learn even more about how to build great sites using ASP.NET and ASP.NET AJAX, make sure to read Omar's excellent new Building a Web 2.0 Portal with ASP.NET 3.5 book. .NET Debugging Demos Lab : Tess Ferrandez, who is an ASP.NET escalation engineer for Microsoft support and who also posts incredible articles on the art of debugging production ASP.NET applications, has started a new tutorial series that provides a sample "buggy" application and a series of questions/problems you can work through to learn how to debug problem applications in production environments. 4 Alternative View Engines for ASP.NET MVC : The open source MvcContrib project has been adding lots of cool goodness on top of the ASP.NET MVC Framework.  Jeffrey Palermo posts about 4 alternative view rendering engines now in the project that you can use if you don't want to use the default .aspx based view engine.  BTW - I'll be doing a new post on ASP.NET MVC within the next week talking about some of the cool new features coming soon with the next refresh.  ASP.NET AJAX Boost ASP.NET Performance with Deferred Content Loading : Dave Ward continues his great articles on ASP.NET AJAX.  This article talks about how you can improve the perceived load-time of a page by using an AJAX callback to retrieve HTML content once the page loads on the client.  This approach is similar to the one I wrote about in my tip/trick post here . Build Yahoo UI Style Glowing Buttons with the ASP.NET AJAX Control Toolkit GlowButtonExtender Control: Matt Berseth continues his excellent series on using ASP.NET AJAX.  In this post he discusses how to create cool glowing button effects. Visual Studio Resolving Namespaces and Removing Unused Using Statements : David Hayden has a nice article that discusses a few Visual Studio code editing features that developers often overlook.  Visual Studio 2008 Product Comparison : Several people have sent me email in the past asking for a page that describes the differences between the various Visual Studio 2008 editions (Standard, Professional, Visual Studio Team System, etc).  This link is useful to bookmark if you want to learn more about this. Did you know...You can Shift+ESC to close a tool window: Sara Ford continues her excellent "Did you know..." VS 2008 tips and tricks series.  I confess I didn't know this one.  One productivity tip I always recommend is to really learn the keyboard shortcuts of your development tool environment well - since using them over time can yield significant productivity savings.  Click here to download a VB 2008 key bindings poster, or click here to download the C# 2008 key bindings poster equivalent.  Print them out and put them under your pillow to absorb them while you sleep. .NET The Power of Yield : Joshua Flanagan has a nice article on one of the coolest, yet underused, feature of C# in .NET 2.0 Go
MIX08 ... MIX is a Microsoft web development conference we hold in Las Vegas each year.  MIX tends to be a pretty fun event, both because it covers cutting edge content (we used MIX07 to announce our Silverlight plans), and also because it tends to attract a really diverse set of attendees (including both those who use Microsoft technology today, and a large % of attendees who don't).  The conference structure includes a healthy blend of sessions and interactive panels, and the layout and organization is designed to facilitate great conversations. This year's MIX is being held March 5th-7th in Las Vegas.  Ray Ozzie and I are both giving keynotes the first day of the event, and Steve Ballmer and Guy Kawasaki will be doing a keynote the second day of the event. The conference (and especially my keynote) is going to cover a lot of new web technology.  Attendees will be able to attend sessions covering: IE 8 IIS 7.0 ASP.NET (including ASP.NET 3.5, ASP.NET AJAX, ASP.NET MVC, and ASP.NET Dynamic Data)  VS 2008 and Expression Studio WPF Silverlight 2 And much more.... Channel 9 recently did an interview with me where I talked about some of these new technologies.  In Part 1 of the interview I talked about IIS7, and in Part 2 of the interview I talked about ASP.NET, WPF and Silverlight 2. Register Soon Or You'll Miss Your Chance MIX is held at a smaller venue then some of our larger events like TechEd and PDC.  This gives the conference a more intimate feel (which is fun).  It also means that it sells out each year, and once it is sold out it is really sold out.  Last year I received about 50 emails from people begging for tickets after it was full, and many people even flew to the event hoping to somehow be let in at the door (only to be unfortunately told they couldn't get in).  Unfortunately because of size constraints (and fire marshal restrictions) once it is sold out there really are no more tickets to be had.  Even my own team members get turned away if they haven't registered in time. This year's registration is filling up faster than any of the previous MIX conferences.  If you want to attend I highly recommend registering really soon to ensure you can go.  You can learn more about the event and register online here . Hope to see some of you there - it is going to be fun.... ScottGo
VS 2008 Web Deployment Project Support Released ... This past Friday we released the final RTW (release to web) support for VS 2008 Web Deployment projects.  You can learn more about it and download it for free here .  Web Deployment projects can be used with either the "ASP.NET Web Site" or "ASP.NET Web Application Project" options built-into VS 2008, and provide a few additional build, packaging and deployment options for you to use.  You can read an old tutorial post of mine here to learn more about they work. The VS 2008 Web Deployment Project version supports all of the existing features provided by the VS 2005 web deployment download.  It also adds additional support for: Easily migrating VS 2005 Web Deployment Projects to VS 2008 Web Deployment Projects Replacing output only if web deployment builds succeed IIS7 Support This RTW (release to web) version fixes bugs and adds some small features that people requested in the December CTP version we released last month.  Please make sure to run setup and uninstall any older version of the VS 2008 Web Deployment Project support you have installed before installing this final version.  VS 2008 Web Deployment Projects can be installed side-by-side with VS 2005 Web Deployment Projects - so there is no need to uninstall the VS 2005 version if you are still using it with older projects. More Deployment Features In my last link-listing post I pointed at the new Web Deployment Tool being released by the IIS team.  This tool works with both IIS6 and IIS7 and enables automated copy deployment, file synchronization, and migrating of applications onto web servers.  If you are looking for a great way to automate the deployment of your ASP.NET applications onto remote servers then this tool is definitely one to check out.  You can use VS 2008 Web Deployment Projects as a post-build step within your build environment to fix up last minute deployment settings - and then use the IIS Web Deployment tool to copy them remotely onto server machines.  Alternatively you can also use the IIS Web Deployment Tool to copy vanilla "ASP.NET Web Site" or "ASP.NET Web Application" projects to remote machines (no VS 2008 Web Deployment Project required). To learn more about the new IIS Web Deployment tool, read the walkthroughs at the bottom of this page (in particular the "Introduction to MS Deploy" one).  I will also be doing a blog post in the future that talks more about how to use it to automate your web server deployments. Hope this helps, ScottGo
Jan 24th Links: ASP.NET, ASP.NET AJAX, Visual Studio, .NET, IIS ... I just arrived back from my trip from Asia, and decided to celebrate (since I'm jet-lagged and can't sleep) with a new post in my link-listing series .  You can check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past. ASP.NET Extending the GridView to Include Sort Arrows : Scott Mitchell has a nice article that describes how to add a visual indicator to the GridView control to indicate the current sort order on columns. Using ASP.NET 3.5's ListView and DataPager Controls: Sorting Data : Scott Mitchell continues his ListView control series with a good article on enabling sorting scenarios with the new ListView control. Building a Grouping Grid with the ListView and LinqDataSource Controls : Matt Berseth has an awesome post that shows off using the new ListView control and LinqDataSource controls to build a hierarchical grouping grid.  A post to bookmark. Using the ListView, DataPager and LinqDataSource Controls : Matt Berseth has a good tutorial post that shows off using these new controls to join data from two database tables using LINQ. Some ASP.NET 3.5 ListView Control Examples : Mike Ormond has a nice post that provides a number of samples that show how to use the new ASP.NET ListView control.  For even more ListView articles, check out my last link-listing post which pointed to a bunch of them. Large File Uploads in ASP.NET : Jon Galloway has a nice post that provides some good details on handing large file uploads using ASP.NET. ASP.NET AJAX Four ASP.NET AJAX JavaScript UI Methods You Should Learn : Dave Ward has another great post in his series about ASP.NET AJAX's client-side JavaScript Helper Methods . Five Tab Themes Created for the ASP.NET AJAX Control Toolkit : Matt Berseth posts some really cool themes created for the ASP.NET AJAX Control Toolkit's Tab control. Very slick! CNN Style Scrolling Ticker with the Marquee Toolkit Control : Matt Berseth posts another great one that shows how to implement a scrolling marquee UI using the ASP.NET AJAX Control Toolkit. Visual Studio Did You Know?: Lisa Feigenbaum from the VB team has posted a really cool series of blog posts that talk about some of the new VS 2008 editor and IDE features.  Read Part 1: Intellisense Everywhere , Part 2: IntelliSense is now Transparent , Part 3: Ctrl+Tab to Navigate Windows , Part 4: What You Can Do with Debugger DataTips , and Part 5: VB IntelliSense now filters as you type . Web Server Settings for ASP.NET Web Application Projects can now be stored per user as well as per project : The VS Web Tools Team has a nice post that describes how you can now store web server settings per-user instead of per-project.  This is very useful for multi-developer scenarios (where you don't want to check-in these values into source control). Using Ctrl-Break to Stop VS Building : Steven Harman points out a cool tip/trick, which is that you can use the Ctrl-Break key within Visual Studio to kill the current compilation build.  A useful tip if you've accidentally kicked off a long build or get tired waiting for it to finish. Visual Studio 2008 Trouble Shooting Guide : If you run into any issues installing VS 2008, make sure to check out this blog post.  It details a bunch of common causes of failures, and how to fix them. .NET Marshaling between Managed and Unmanaged Code : Yi Zhang and Xiaoying Guo from my team in Shanghai have written a great MSDN article that describes how to use the marshaling interop features of the CLR to call native code.  One of the tools they highlight is an awesome P/Invoke Interop Assistant application they built that makes it much, much easier to generate p/invoke interop signatures when calling native methods.  A must-have tool for anyone doing native/managed interop! .NET Framework 3.5 Poster : Brad Abrams posts about the cool new .NET Framework 3.5 posters now available for download (now in multiple file formats). IIS Microsoft WGo
.NET Framework Library Source Code now available ... Last October I blogged about our plan to release the source code to the .NET Framework libraries , and enable debugging support of them with Visual Studio 2008.  Today I'm happy to announce that this is now available for everyone to use. Specifically, you can now browse and debug the source code for the following .NET Framework libraries: .NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc). ASP.NET (System.Web, System.Web.Extensions) Windows Forms (System.Windows.Forms) Windows Presentation Foundation (System.Windows) ADO.NET and XML (System.Data and System.Xml) We are in the process of adding additional framework libraries (including LINQ, WCF and Workflow) to the above list. I'll blog details on them as they become available in the weeks and months ahead. Enabling Reference Source Access in Visual Studio 2008 Enabling .NET Framework source access within Visual Studio 2008 only takes a few minutes to setup. Shawn Burke has a detailed blog post that covers the exact steps on how to enable this in more depth here . If you run into problems or have questions setting it up, please post a question in the Reference Source Forum on MSDN here . Stepping into .NET Framework Library Source Once you follow the configuration steps in Shawn’s post above, you’ll be able to dynamically load the debug symbols for .NET Framework libraries and step into the source code. VS 2008 will download both the symbols and source files on demand from the MSDN reference servers as you debug throughout the framework code: Developer comments are included in the source files. Above you can see an example of one in the Dispose method for the Control base class. Sometimes you'll see comments that reference a past bug/tracking number in our bug/work-item tracking database that provides additional history about a particular code decision. For example, the comment above calls out that a particular field shouldn't be nulled to maintain backwards compatibility with an older release of the framework, and points to a backwards compatibility bug that was fixed because of this. Reference License The .NET Framework source is being released under a read-only reference license. When we announced that we were releasing the source back in October, some people had concerns about the potential impact of their viewing the source. To help clarify and address these concerns, we made a small change to the license to specifically call out that the license does not apply to users developing software for a non-Windows platform that has “the same or substantially the same features or functionality” as the .NET Framework. If the software you are developing is for Windows platforms, you can look at the code, even if that software has "the same or substantially the same features or functionality" as the .NET Framework. Summary We think that enabling source code access and debugger integration of the .NET Framework libraries is going to be really valuable for .NET developers. Being able to step through and review the source should provide much better insight into how the .NET Framework libraries are implemented, and in turn enable you to build better applications and make even better use of them. Hope this helps, ScottGo
Visiting China, South Korea and Japan the Next Two Weeks ... This Friday I'm leaving for a 10 day trip to Asia.  Traveling on business doesn't usually get me excited (I was on a plane ~70 times last year), but I am really looking forward to this trip as it will be my first trip to Asia.  I'll be visiting China (Beijing, Shanghai, Shenzhen), South Korea (Seoul), and Japan (Tokyo), and I will be presenting at events, meeting with customers, and visiting one of the development teams in my group that is based in China.  I'm also hoping to get a chance to see immerse myself a little in the countries. Below are some details on the presentations I'll be doing during the trip if you are interested in attending or learning more: China (Beijing, January 13th) China (Shanghai, January 14th) <= Update South Korea (Coex Conference Center 310 on January 17th) Japan (Izumi Garden Gallery in Roppongi, Tokyo on January 21st) I've been extremely fortunate the last year to have had some great people volunteer to translate my blog posts into other languages (including Chinese and Japanese).  Below are links to a few of the feeds if English isn't your first language: My Blog Posts in Chinese My Blog Posts in Japanese My Blog Posts in Spanish I'm hoping to meet Xuegen Jin (who has been translating my posts to Chinese and hosting them on HongChao Wang's site) and Chica (who has been translating my posts into Japanese) on the trip and have the chance to thank them personally. :-) Thanks, ScottGo
Dynamic LINQ (Part 1: Using the LINQ Dynamic Query Library) ... LINQ (language integrated query) is one of the new features provided with VS 2008 and .NET 3.5.  LINQ makes the concept of querying data a first class programming concept in .NET, and enables you to efficiently express queries in your programming language of choice. One of the benefits of LINQ is that it enables you to write type-safe queries in VB and C#.  This means you get compile-time checking of your LINQ queries, and full intellisense and refactoring support over your code: While writing type-safe queries is great for most scenarios, there are cases where you want the flexibility to dynamically construct queries on the fly.  For example: you might want to provide business intelligence UI within your application that allows an end-user business analyst to use drop-downs to build and express their own custom queries/views on top of data.  Traditionally these types of dynamic query scenarios are often handled by concatenating strings together to construct dynamic SQL queries.  Recently a few people have sent me mail asking how to handle these types of scenarios using LINQ.  The below post describes how you can use a Dynamic Query Library provided by the LINQ team to dynamically construct LINQ queries. Downloading the LINQ Dynamic Query Library Included on the VS 2008 Samples download page are pointers to VB and C# sample packages that include a cool dynamic query LINQ helper library.  Direct pointers to the dynamic query library (and documentation about it) can be found below: VB Dynamic Query Library (included in the \Language Samples\LINQ Samples\DynamicQuery directory) C# Dynamic Query Library (included in the \LinqSamples\DynamicQuery directory) Both the VB and C# DynamicQuery samples include a source implementation of a helper library that allows you to express LINQ queries using extension methods that take string arguments instead of type-safe language operators.  You can copy/paste either the C# or VB implementations of the DynamicQuery library into your own projects and then use it where appropriate to more dynamically construct LINQ queries based on end-user input. Simple Dynamic Query Library Example You can use the DynamicQuery library against any LINQ data provider (including LINQ to SQL , LINQ to Objects, LINQ to XML, LINQ to Entities, LINQ to SharePoint , LINQ to TerraServer , etc).  Instead of using language operators or type-safe lambda extension methods to construct your LINQ queries, the dynamic query library provides you with string based extension methods that you can pass any string expression into. For example, below is a standard type-safe LINQ to SQL VB query that retrieves data from a Northwind database and displays it in a ASP.NET GridView control: Using the LINQ DynamicQuery library I could re-write the above query expression instead like so:   Notice how the conditional-where clause and sort-orderby clause now take string expressions instead of code expressions.  Because they are late-bound strings I can dynamically construct them.  For example: I could provide UI to an end-user business analyst using my application that enables them to construct queries on their own (including arbitrary conditional clauses). Dynamic Query Library Documentation Included with the above VB and C# Dynamic Query samples is some HTML documentation that describes how to use the Dynamic Query Library extension methods in more detail.  It is definitely worth looking at if you want to use the helper library in more depth:   Download and Run a Dynamic Query Library Sample You can download and run basic VB and C# samples I've put together that demonstrate using the Dynamic LINQ library in an ASP.NET web-site that queries the Northwind sample database using LINQ to SQL: Basic Dynamic LINQ VB Sample Basic Dynamic LINQ C# Sample You can use either Visual Web Developer 2008 Express (which is free) or VS 2008 to open and run them. Other Approaches to ConstructGo
Jan 4th Links: ASP.NET, ASP.NET AJAX, ASP.NET MVC, Visual Studio, IIS7 ... Here is the latest in my link-listing series .  Also check out my ASP.NET Tips, Tricks and Tutorials page for links to popular articles I've done myself in the past. ASP.NET Using ASP.NET 3.5's ListView and DataPager Controls - Displaying Data with the ListView : Scott Mitchell from www.4guysfromrolla.com (and also the author of the excellent ASP.NET Data Tutorials ) is starting a new series that covers using the new ASP.NET ListView control.  This is the first in the series and discuses how to display data. Using ASP.NET 3.5's ListView and DataPager Controls - Grouping Data with the ListView : This is the second article in Scott Mitchell's series.  In this article he discusses how to use the grouping feature of the ListView to separate rendered items into different grouping containers. Using the ListView Control in ASP.NET 3.5 : Mustafa Basgun has also written some great articles that drill into the new ListView control further.  Read Part 1 , Part 2 , Part 3 , Part 4 , and his Locking ListView's Header and Footer Columns with CSS to learn more about it. BlogEngine.NET 1.3 Released : Mads Kristensen blogs about the new release of BlogEngine.NET.  This excellent ASP.NET open source blog engine keeps getting richer and richer. Gallery Server Pro - ASP.NET Open Source Media Application: Roger Martin writes about the features and architecture of his new Gallery Server Pro project.  It is an open source ASP.NET application that provides a rich way to share and manage photos, videos, and audio files over the web. Web Hosters Offering ASP.NET 3.5 : Brad Abrams has a nice post that lists some great web hosting providers that are already offering ASP.NET and .NET 3.5 offerings. ASP.NET AJAX Creating a Google Suggest Style Filter with the ASP.NET AJAX AutoComplete Control : Matt Berseth has another fantastic post that covers how to use the ASP.NET AJAX Control Toolkit's AutoComplete control to get auto filtering support within a textbox. A Slider DataPager with Dynamic Tooltips : Matt Berseth posts yet another great post on how to enable a sweet AJAX tooltip navigation UI using ASP.NET AJAX. Using the ASP.NET 3.5 Extensions History Support : Dino Esposito has a nice article that demonstrates how you can use the new "EnableHistory" feature on the <asp:scriptmanager> control to add named history points to the browser.  This enables browser forward/back button integration with ASP.NET AJAX applications.  Also read David Barkol's post about this feature here . ASP.NET AJAX History How Do I Video : To learn more about the new ASP.NET AJAX history support, watch this great 15 minute video from Bertrand Le Roy of the ASP.NET team.  He demonstrates how to AJAX enable an <asp:wizard> control, and then add history marker points to it. Script# Update : Nikhil Kothari recently posted an update to his awesome Script# framework, which allows you to compile C# into JavaScript.  Included within this update are project and file templates for VS 2008.  You can learn more about Script# here . ASP.NET MVC Using ASP.NET MVC from Visual Web Developer Express 2008 : Jason Whitehorn has published a nice project template that enables you to use the ASP.NET MVC framework with a web-site project in Visual Web Developer Express 2008.  We'll be adding both class library and web application project support to Visual Web Developer Express 2008 SP1 later this year - which will enable you to optionally use the MVC web application project templates with the free VWD Express as well. Accessing Server Controls from CodeBehind with ASP.NET MVC Views : David Hayden has a good post that discusses a workaround for a bug with the current ASP.NET MVC CTP view templates - which prevents you from coding against server controls in view template code behind classes.  You can right-click on the MVC view files and select "Convert to Web Application" to fix it.  Alternatively, you can download updated MGo
ASP.net.com Community Links
Adding Multiple Rows in the GridView Control ... A while back an article was published on www.gridviewguy.com which explained how to add a single row at the bottom of the GridView control. You can read the article using this link. Many readers were interested in the idea of adding multiple rows to the GridView. This article explains how to add multiple rows to the GridView control.Go
Creating Derived Controls ... In the previous lesson you developed a composite control by assembling existing server controls. There is one more technique to add to the functionality of the existing controls. You can extend existing controls and add/customize functionality as per your requirement. This way you avail the core functionality of the base control to create a tailor-made control meeting your requirement. The designer features of Visual Studio such as smart tags and dialogs that are available for the base control continue to remain available for the derived control also.Go
Building a Simple Blog Engine with ASP.NET MVC and LINQ - Part 1 ... Microsoft released the first CTP of ASP.NET 3.5 Extensions and it includes ASP.NET MVC Framework as one of the main extensions for ASP.NET 3.5. In the first part of this article series about building a simple blog engine with ASP.NET MVC and LINQ, Keyvan introduces the MVC pattern, ASP.NET MVC Framework, and the fundamentals of a simple blogging engine.Go
Introduction To LINQ ... This article is an introduction to LINQ and provides examples of using LINQ to query objects, XML, and relational data.Go
Developing for the iPhone ... Learn some basic tips and tricks for developing iPhone-compatible ASP.NET web applications.Go
Serve extensionless URL without using ISAPI handler or wildcard mapping ... Serve extensionless URLs like www.pageflakes.com/omar from ASP.NET without using a custom ISAPI handler or expensive IIS 6.0 wildcard mapping. A fast and simple 404 handler does the trick.Go
Creating an Online Exam Using LINQ to Classes Part 2 ... Some time back an article was published on www.gridviewguy.com , “Creating an Online Exam Using LINQ to Classes Part I” which introduced the basic design involved in creating an online exam. In this article we will take one step further and create unit tests to test certain features of the application.Go
A First Look at the Dynamic Data Engine—the DynamicGridView Control ... Dino Esposito introduces the ASP.NET DynamicGridView Control.Go
7 ways to do Performance Optimization of an ASP.NET 3.5 Web 2.0 portal ... This article explores some of the key performance issues that can occur while developing a Web 2.0 portal using server side multithreading and caching. It also demonstrates model driven application development using Windows Workflow Foundation.Go
CAPTCHASP ... Learn how to defend your ASP.NET sites against evil bots with this free web control that provides instant, highly customizable CAPTCHA verification.Go
CodeProject.com ASP Links
Extending Cuyahoga FullText Indexing (Lucene.NET) ... In this article we will extend classes in Cuyahoga.Core.Search namespace in order to provide more generic full text indexing serviceGo
Facebook Application Development with FBML, FBJS, ASP.NET and C# ... build simple and sophisticated Facebook App with FBML, ASP.NETGo
Drop Down Calendar for the Web ... a javascript file that provides an easy to use drop down calendar for selecting dates on web pagesGo
MSAgent Style Critters for your Web Pages ... MSAgent Style Critters for your Web PagesGo
ASP.NET Ajax Under-the-hood Secrets ... Performance tips and hard-core tricks that change core runtimes, not for the faint-heartedGo
Drag and Drop With Persistence Using JQuery ... How to create a drag and drop functionality to add users to a roomGo
Organization Chart Generator ... An article on the development of an Organization Chart generator.Go
AdHawkMailer an ASP.NET Component for Sending Email in VB.NET ... AdHawkMailer an ASP.NET Component for Sending Email in VB.NETGo
Create ActiveX in .NET Step By Step ... Article describes how to create ActiveX in .NET and how to use it on HTML page step by step.Go
Persian Calendar with Tray Icon ... A Persian calendar that shows a tray iconGo
Schemaless C#-XML data binding with VTD-XML ... Agile, efficient XML data binding without schemaGo
Paging ListView With DataPager ... How to paging ListView with DataPager ProgramaticallyGo
Using the Prototype Ajax Framework with HTML and an ASP.Net web project ... Call an ASP.Net page using the Prototype FrameworkGo
Selector Radio Button for GridView ... A Radio Button to Select a Record in an ASP.NET GridView ControlGo
DotNetSlackers.com Links
RadControls for ASP.NET AJAX and validation ... Our good friendPeter Blum recentlyannounced official support for our upcomingRadControls for ASP.NET AJAX (aka "Prometheus"). All customers that are using hisData Entry Suite will be able to integrate validation into the Telerik controls almost invisibly and without much pain and effort. For those of you that are not familiar with Peter Blum, he is an ASP Insider and the author of the BEST set of validation controls on the market. I don't have any reservations to recommend his products as they are well done, very stable and very well documented. Enjoy! Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
Facebook Application Development with FBML, FBJS, ASP.NET and C# ... build simple and sophisticated Facebook App with FBML, ASP.NET... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
Bookmark: Installation Tips for Silverlight Tools Beta 1 for Visual Studio 2008 ... http://weblogs.asp.net/bradleyb/archive/2008/03/06/installation-tips-for-sivliverlight-tools-beta-1-for-visual-studio-2008.aspx Should Silverlight 2 Beta 1 be that difficult to installed that in the Mix 08, people were helping other people installing it? Cheers AlPosted from http://weblogs.asp.net/albertpascual... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
Improving ASP.NET User Interfaces with the AJAX Control Toolkit and Silverlight ... There are many controls and extenders provided by the AJAX Control Toolkit that can be used to enhance ASP.NET user interfaces. The ValidatorCallout is used with the existing validation controls to show a nice box with the validation message that points to the field in error. The CollapsiblePanel provides an area of the screen that can be collapsed to hide the content but leave a title bar with the header. The ModalPopup displays a popup window and disables the remainder of the page. There are many... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
What will come with RadGrid ""Prometheus"" Q1 2008? ... In a series of posts I will walk through some of the new features for RadGrid for ASP.NET AJAX Q1 2008 . Here is the first part:- Global ItemTemplate for GridTableView - (CardView ):Using ItemTemplate you have ability to replace all GridDataItem GridEditableColumns cells with single cell.Example: < telerik:RadGrid ID = "RadGrid1" runat = "server" > < MasterTableView > < ItemTemplate > Master </ ItemTemplate > < DetailTables > < telerik:GridTableView runat = "server" > < ItemTemplate > Detail </ ItemTemplate > </ telerik:GridTableView > </ DetailTables > </ MasterTableView > </ telerik:RadGrid > - NestedViewTemplate (detail table template):Now you can design and present master/detail data in more flexible way using DetailsView , RadChart or any other ASP.NET component/plain html .Example: < telerik:RadGrid ID = "RadGrid1" runat = "server" > < MasterTableView > < NestedViewTemplate > Details for:< %# Eval("CustomerID") % > </ NestedViewTemplate > < DetailTables > ... - Footer aggregates :You can specify now Aggregate property with following values: Sum , Min , Max , Last , First , Count , Avg & Custom for every GridBoundColumn and the grid will calculate these aggregates if ShowFooter is set to true . In case of Custom aggregate the grid will raise event OnCustomAggregate where you can set desired result using e.Result .RadGrid will calculate aggregates by default on the entire data source and will respect filtering .Example: ... < telerik:GridBoundColumn Aggregate = "Count" DataField = "CustomerID" DataType = "System.String" HeaderText = "CustomerID" SortExpression = "CustomerID" UniqueName = "CustomerID" > </ telerik:GridBoundColumn > ... - Group footers & aggregates :You can turn on group footers using ShowGroupFooter property of GridTableView and the grid will calculate automatically all columns aggregates (if defined) for the current group.- Calculated columns :Using Expression and DataFields properties of GridCalucatedColumn you can create easily various calculations plus you can sort , group and filter these columns exactly in the same way as normal GridBoundColumn .Example: < telerik:GridCalculatedColumn HeaderText = "Total Price" UniqueName = "TotalPrice" DataType = "System.Double" DataFields = "UnitPrice, UnitsInStock" Expression = "{0}*{1}" Aggregate = "Sum" /> That's all for now!Enjoy :-) Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
ASP.NET MVC Preview 2 ... A few weeks ago, ScottGu blogged about the ASP.NET MVC Framework roadmap...    I am happy to announce that we have taken the next step on that roadmap with the availability of the ASP.NET MVC Framework update.  ASP.NET MVC Preview 2 The ASP.NET MVC Preview 2 release contains the latest version of the ASP.NET MVC framework and related Visual Studio tools support. In this release we have incorporated a ton of feedback, added some new features and enhanced the tooling... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
Mix 08 Keynote Thoughts ... So now I have eaten some lunch and I am charging my laptop in the Sandbox/OpenSpace waiting on my first breakout session. I am going to 'Developing Data Driven Applications Using ASP.NET Dynamic Data Controls'. But I wanted to jot down the things I took...(read more)... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
New drop of ASP.NET MVC Framework now available ... My RSS feed: http://feeds.feedburner.com/jeffreypalermo You can download it here. It's public and announced at the MIX conference. A new release of the ASP.NET MVC Framework. The license allows you go "go live" and use it in production. You'll have to uninstall the December CTP first. The new install will only drop the assemblies in C:\Program Files\Microsoft ASP.NET MVC Preview 2\Assemblies, and then you'll have to copy them over to... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
Source code for ASP.NET 3.5 Core Ref ... The latest baby, Programming ASP.NET 3.5 Core Reference, is out and you can freely download the full source code (21 MB) from here. It should be noted that for sort legal reasons (sic!), the binaries of the AJAX Control Toolkit couldn't be added to the package. It's therefore up to you to download and install it separately. Then make sure you have the proper DLL in the Bin folder of the book samples application. Enjoy :)... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
Importing an Excel Spreadsheet Using Typed DataSets and TableAdapters: Building the Importer Web Page and Uploading the Excel Spreadsheet ... This article is the second in a series of step-by-step tutorials by Nannette Thacker that show how to build an ASP.NET page to import an Excel spreadsheet into a database using Typed DataSets and TableAdapters. Last week's article, Building the Database , started with an overview of the system. We then created the ASP.NET website project, the database, and the two database tables, Members and Category . In this installment we will build the ASP.NET page for importing the Excel spreadsheet. This entails creating the page's user interface and file upload capabilities. At the conclusion of this article we will have created a page that enables users to upload their Excel spreadsheets. Read on to learn more!Read More > Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
Importing an Excel Spreadsheet Using Typed DataSets and TableAdapters: Building the Importer Web Page and Uploading the Excel Spreadsheet ... This article is the second in a series of step-by-step tutorials by Nannette Thackerthat show how to build an ASP.NET page to import an Excel spreadsheet into a database using Typed DataSets and TableAdapters. Last week's article, Building the Database, started with an overview of the system. We then created the ASP.NET website project, the database, and the two database tables, Members and Category.In this installment we will build the ASP.NET page for importing the Excel spreadsheet. This... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
ASP.NET MVC Preview 2 ... Just spotted the ASP.NET MVC Preview 2 download. Three things to say about the subject in reverse order of importance:3. I'll be doing half a session on this in Newcastle in May (but more on that closer to the time)2. It is now separated out from the larger ASP.NET 3.5 Extensions package1. You can go get it here.Comments about this post welcome at the original blog. ... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
New Video Comments Feature on www.ASP.net ... We've added a new comments feature to all the Videos posted at www.ASP.net . Complete with a RSS feed for the comments. Check it out and tell us what you think !... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
New Video Comments Feature on www.ASP.net ... We've added a new comments feature to all the Videos posted at www.ASP.net . Complete with a RSS feed for the comments. Check it out and tell us what you think !... Did you know that DotNetSlackers also publishes .net articles written by top known .net Authors? We already have over 80 articles in several categories including Silverlight. Take a look: here .Go
ASP.NET.com Links
[MIX08] Announcing MIX09 ... MIX09 will be held in Las Vegas on march 18-20, 2009.Go
Developing Linq to LLBLGen Pro, part 14 ... (This is part of an on-going series of articles, started here ) We're getting closer to the goal: a full -featured Linq provider for LLBLGen Pro . Hopefully next week the Linq CTP for LLBLGen Pro is ready for release to customers, fingers crossed! Last time I talked about the function mapping support for database functions and in-memory function/method/property access extravangansa, today I'll discuss one of the cornerstones of using an O/R mapper in the first place: fetching trees of objects using hierarchical fetches. Eager-loading of related data using prefetch paths One of the two ways of fetching hierarchical data is by fetching a tree of entity instances. For example: fetch all customers from Germany and their Order entities and for every Order entity the related Order Detail entities as well. Using an O/R mapper should make this simple, and efficient , i.e.: the right entities should be fetched and all entities should be merged into a tree so their relation to each other is shown. This means that all the Order entity instances are stored in Orders collections inside the Customer entity which owns the Order instances. All Order Detail instances should be placed inside OrderDetails collections, namely the ones of the owning Order entity. To do this efficiently, it would take at most 3 queries to do this: one for the Customers, one for the Orders of these Customers and one for the OrderDetails of these Orders. LLBLGen Pro has a build-in mechanism which is called Prefetch Paths , which lets you specify the paths along a tree, and every node which should be fetched together with the main entity / entities to fetch. In this particular case, we're fetching Customers from Germany, and our path therefore is pretty simple: Customer - Order - OrderDetails. If you want, you can specify a filter per node, a sort expression per node and a limitation (so only the last 5 orders for example). It also allows you to specify multiple branches in the graph. This means that the path doesn't have to be linear, you specify a tree with multiple branches, e.g. Customer - Employee (m:n via Orders), Customer - Order - OrderDetails and Order - Employee. Prefetch paths are also polymorphic. So you can specify a branch in the tree which is only available in certain subtypes. For example if you take the dreaded inheritance hierarchy Employee - Manager - BoardMember and BoardMember has a relation with CompanyCar (as they are the only ones allowed to have a company car, the lucky ********!), you can define a path for fetching Employees and BoardMember - CompanyCar: for every Employee which is a BoardMember, the related CompanyCar is fetched. Yes, it's pretty neat . It's key that these eager-loading specifications, fetch plans, prefetch paths or whatever you want to call them, are specified at the query level and are executed with the query . So when you're fetching the customers together with the prefetch path, you are fetching the complete tree defined by the specified path. Now, it's pretty clear that the complete path has to be fetched at once, but why is it important that the path is specified with the query? After all, doesn't Linq to Sql use a model where the tree to fetch is specified via LoadOptions on the DataContext? The main issue with defining it elsewhere is that if you execute multiple queries on the DataContext, you'll have to make sure the LoadOptions for that particular query are set to the correct values. The Entity Framework uses a different approach if I'm not mistaken, they indeed use an extension method to specify the related entities, yet it uses strings which I find particular weird considering the fact that the sole purpose of Linq being better than embedded SQL strings was that it's compile-time checked. Linq to LLBLGen Pro will have a Queryable extension method called WithPath , which allows you to specify a complete tree inside the query, together with filters per node, sorting per node, Go
Mix08: Some overall impressions ... I've got two more sessions to go, but while it's fresh in my mind, I'd like to rattle off some overall impressions of this conference. When it's over, I'm going to purge my brain with alcohol, gambling and shows. First off, what I dig about this conference is that it's very diverse in its content and target audience. Most conferences are endless code demos that make you want to kill yourself. I consider myself a well-rounded person who enjoys the code, but also the creative side, the business and the culture. It also has a bit of a rock star vibe. In addition to Microsoft execs being here, you get the authors of the books you read, "Web 2.0" (I hate that term) types behind major sites changing the way we use the Web, and people everywhere who might build the next big thing. And there's something I haven't really touched on, is the conversations in the halls and at meals. Ballmer mentioned that you can get the whole conference, essentially, online, but that's not entirely true. The people you meet are a huge part of what you get out of it. I mean, I met a guy who works for Oprah's studio rolling his own media management software. How cool is that? Silverlight is obviously a huge deal at this conference, and for good reason. I admit, I'm drinking the Kool-Aid now. It probably has zero application to my day job, but it's fascinating to me. The very clear separation of code and presentation is exactly what I wish Flash did. That, and I wish Flash used C#. This conference is a good blend of now and future. There really isn't anything here that is pie-in-the-sky future porn. Yes, there's a certain level of Microsoft centricity, but that's to be expected since it's their conference. And as a Microsoft developer, I don't mind. Unlike some of the local events though, they're not pushing crap I don't care about. Overall, this conference really delivers, and this one was even better than the 2006 event. It's ridiculously expensive, but they do take care of you in terms of food and such. The party sure is a nice touch. They announced that next year's event will be here at The Venetian as well. I hope I can attend again next year!Go
Mix08: The future of advertising ... Like a moron, I didn't realize that the added session on Hard Rock's Silverlight memorabilia site was first, not last, today, so I went to a really boring session on what Microsoft thinks the future of advertising is. And the truth is, I don't think they know. The presenter said that the entire process of buying and displaying ads online is terribly inefficient (he neglected to mention it's not nearly as bad as other forms of media). The future is going to work more along the lines of ad exchanges, a la the stock market, which is something we've heard countless times in other places, so there's no new information there. The problem as I see it is not a technical one. Sure, there's no question at all that we can achieve better targeting and transparency, but who is going to be willing to share their data in these exchanges? I'm a little skeptical there. For example, can you see Google saying, "Yes, we have about a half-billion ad impressions available for 30-something females who like bowling?" If they were willing to share that, my suspicion is that they'll want a cut for that, and as a publisher, I worry about the revenue being even further diluted. Indeed, when you look at the fact that only 5,000 companies buy 90% of the advertising, you start to wonder if it matters. I'm in the room now where the Hard Rock demo was, and I'm annoyed. I guess I'll have to catch that one on video later.Go
Installation Tips for Silverlight Tools Beta 1 for Visual Studio 2008 ... Silverlight 2 Beta 1 was release someday ago at MIX08 . To get started with Silverlight 2 you can download "Silverlight Tools Beta 1 for Visual Studio 2008" here . The Silverlight Tools installer will install everything needed to start working with Silverlight 2 in Visual Studio 2008. It installs the following: Silverlight 2 Beta 1 Silverlight 2 SDK Beta 1 KB949325 for Visual Studio 2008 Silverlight Tools Beta 1 for Visual Studio 2008 Be aware of that even if you've previously installed Silverlight 1.0 or Silverlight 2 Beta 1 the installer will proceed and install the additional components. If u run into any error during installing Silverlight 2 Beta 1 take a look at BradleyB's weblog for details on this installation. enjoy!Go
ASP.NET MVC Tip # 7 - Using a CAPTCHA with MVC ... Problem: You need a CAPTCHA to use when submitting forms in MVC Solution: For this I will defer to an excellent explanation: http://www.coderjournal.com/2008/03/aspnet-mvc-captcha/Go
Mix08: ASP.NET MVC ... Not surprisingly, the ASP.NET MVC session last night was absolutely packed. Scott Hanselman, as it turns out, is a pretty dynamic speaker, and frankly pretty funny. MVC is a very computer sciencey kind of concept, but it's also a very neat way to generate Web sites. The thing that's kind of hard to deal with is that Microsoft is going entirely the opposite direction from eight years ago, where a limited number of people saw something and we had a big bang release. This is something that is truly agile and being developed completely in the open. With that transparency comes the "when it's done" ethos, which is fine, but I worry that there's some expectation gap there for customers who have release and support expectations. I mean, until it's RTM, I can tell you that we'll never be using it at Insurance.com . (I'm not indicating we would anyway, I'm just giving an example.) In any case, there's a lot of appeal to drive the site in part by the URI. What feels strange is letting go of the postback model, which you very much have to do in this case. That forces you into a very smooth and task-driven way of designing an application. You can see this in all its glory on pretty much anything built with Ruby on Rails today. There's a "forced" style of sorts you see in those sites (see any of the 37signals sites). I'm not suggesting that's bad in any way, because I think it's actually pretty cool. As Hanselman was quick to point out though, it's not ideal for every situation. What I'm anxious to see is how people are using it in the real world, and how they roll it in a meaningful way with Web forms and even the AJAX framework. If it were out today, I have a personal project in mind that I'd love to try it out on, but even when it's a small "me" project, I don't know that I want to commit to non-final bits.Go
Installation Tips for Silverlight Tools Beta 1 for Visual Studio 2008 ... Silverlight 2 Beta 1 was release someday ago at MIX08 . To get started with Silverlight 2 you can download "Silverlight Tools Beta 1 for Visual Studio 2008" here . The Silverlight Tools installer will install everything needed to start working with Silverlight 2 in Visual Studio 2008. It installs the following: Silverlight 2 Beta 1 Silverlight 2 SDK Beta 1 KB949325 for Visual Studio 2008 Silverlight Tools Beta 1 for Visual Studio 2008 Be aware of that even if you've previously installed Silverlight 1.0 or Silverlight 2 Beta 1 the installer will proceed and install the additional components. If u run into any error during installing Silverlight 2 Beta 1 take a look at BradleyB's weblog for details on this installation. enjoy!Go
Silverlight 2.0 Video Tutorials (Updated) ... Silverlight 2.0 provides a new and exciting framework for building rich applications using C#, VB.NET or other languages that are capable of running on multiple operating systems and in multiple browsers.  Scott Guthrie recently posted a great set of tutorials on Silverlight 2.0 that are an excellent resource for getting started building Silverlight 2.0 applications.  Scott recently approved converting the tutorials into video so I've been busy the past few days putting together video tutorials that cover Silverlight 2.0 and the Digg.com application Scott wrote about.  Links to the written tutorials and video tutorials are shown below. Silverlight 2.0 Video Tutorials Part 1: Creating "Hello World" with Silverlight 2 and VS 2008 Tutorial Video Tutorial Part 2: Using Layout Management Tutorial Video Tutorial Part 3: Using Networking to Retrieve Data and Populate a DataGrid Tutorial Video Tutorial Part 4: Using Style Elements to Better Encapsulate Look and Feel Tutorial Video Tutorial Part 5: Using the ListBox and DataBinding to Display List Data Tutorial Video Tutorial Part 6: Using User Controls to Implement Master/Details Scenarios Tutorial Video Tutorial Part 7: Using Templates to Customize Control Look and Feel Tutorial Video Tutorial Part 8: Creating a Digg Desktop Version of our Application using WPF Tutorial Coming Soon! View other cool videos on Silverlight 2.0 and additional .NET technologies from the Mix 08 conference: Joshua Allen's Mix 08 Blog del.icio.us Tags: Silverlight 2.0 ,C# ,REST ,XML ,LINQGo
SharePoint Conference 2008 Highlights (Part 1) ... Jeff Monnette gives a good overview of the SharePoint Conference 2008 highlights in his blog here..Go










have suggestions for the site?
snappy@alligatortags.com