Updated on12/19.  Infragistics has joined us as a Gold Partner


Wow, Code Camp 2008.1 is coming up fast.  It seems like we move from planning one Code Camp right into planning the next one.  We are busy lining up sponsors and speakers and I can report that both efforts are going very well.

First, a sponsors update.  Scroll down if you want to see the sessions that are planned.

We now have several levels of sponsorship.  Companies can contribute money to Philly.Net so we can pay for the expenses of running a Code Camp.  In addition, companies provide prizes and swag, and everyone likes that! Of course, this list is changing all the time.   All of these companies have been very generous in their support of Philly.Net.  If you get some time, check out their web sites/products. 

Announcement: The official email hasn’t gone out yet but I’ll let the cat out of the bag… Code Camp registration is now open on the Philly.Net site!

Platinum Partners:

DeVry Microsoft
Thanks to DeVry in Fort Washington, PA.  They’ll be hosting our Code Camp. We can always count on Microsoft’s support throughout the year.

Gold Partners:

ComponentOne Infragistics_1 neudesic rda Redgate

Silver Partners:

Spherion SteelBlue

Other Partners:

Solid Quality Mentors

Other companies have pitched in to provide prizes for Code Camp.  Here’s a list of who’s signed up to help, so far:




SQL Server Magazine



We all come to Code Camp for the presentations.  Here is a list of some of the presentations that you’ll get at Code Camp. This list is NOT complete and is subject to change, of course.   Keep an eye on the Code Camp site for the latest information.

    Brian Donahue – Panel Discussion
    David Laribee – Fundamental Domain-Driven Design
    Jeremy Jarrell – Decoupling Your Design – Dependency Injection with Windsor
    Jeff Deville – ASP.NET MVC – A New Way To Build Web Apps 
    Steve Eichert – Behavior Driven Development In Action:  The Evolution of TDD
    Don Demsak – Design Patterns

    Mitch Ruebush –
    Harish Bidad – BizTalk R2 BAM
    Chip Lemmon – Entry Level Event Models
    Tim Dodd – IIS 7
    Sam Gentile – ESB/SOA

    Business Intelligence
    Dan Clark – Integrating SQL Server Reporting Service Reports in .NET Applications
    Dan Hartshorn – Performance Point
    Mark Scott –
    Andy Leonard –

    User Experience
    Andy Schwam – ASP.NET Custom Controls
    Jonathan Newell – Databinding ASP.NET
    Bill Wolff – Silverlight 2.0 with Expression and Visual Studio 2008
    John Juback – Real World Experiences with Silverlight
    Eric Pascarello – Investigating JavaScript and Ajax Security
    Susan Lennon – Using SharePoint Designer to build a dashboard-type view of lists

    Marc Ziss –
    Jim Bonnie – SubSonic as a Data Access layer for DotNetNuke
    Rachel Appel – Exception Handling & Management Strategies
    Kevin Goff – Crash Course on LINQ and VS2008 Language Enhancements

    David Mann – Delivering Modular SharePoint Workflow Functionality via Components
    Bob Fox – SharePoint Disaster Recovery, Backup and more…
    Tony Testa – AJAX in SharePoint
    Michael Lotter – InfoPath 2007 with Visual Studio 2008
    Russ Basuira – Programming Composite Applications that use the SharePoint Business Data Catalog
    Gary Blatt – Using OpenXML to Access Excel and other Office 2007 Files
    Sharon Dooley –
    Ed Pochinski –
    Joshua Lynn – SQL Server 2008 New feature: Change Data Capture
    Reed Sutton –
    Hilary Cotter –
    Chuck Urwiler –
    Mark Magliocco – FaceBook Developer Toolkit in .NET
    Judy Calla – Visual Studio 2005
    Travis LaBorde –
    Rob Keiser – Powershell 2.0
    Todd Snyder – Using Refactoring to hunt down code smells
    Steve Andrews – Visual Studio 2008 Tools and Add-Ins

The new ListView control in ASP.Net is pretty cool.  It is really flexible and often makes life pretty easy for me.  But there is one thing that doesn’t make sense to me.

It isn’t simple to figure out which item is the "Edit Item" during databinding.  It isn’t impossible, but it seems more complicated then I’d expect.  During ItemDataBound() you can test the item’s type:

        if (e.Item.ItemType == ListViewItemType.DataItem)
            //do something

Remember that with a ListView, there are no rows, so we refer to Items. 

Unfortunately, the options for ListViewItemType only include DataItem, InsertItem, and EmptyItem.  All of those are helpful, but what about EditItem? So the next logical thing to do is use the ListView’s EditIndex.  All I’d have to do is compare the current index to the EditIndex and I’ll know if I’m on the edit item.  ListViewItemEventArgs has an Item property but there doesn’t seem to be an Index or CurrentIndex property.  So the comparison won’t be so easy.  We’ll here it is, the way to figure it out:

    protected void ListView1_ItemDataBound(object sender, ListViewItemEventArgs e)
        if (e.Item.ItemType == ListViewItemType.DataItem)
            ListViewDataItem dataItem = (ListViewDataItem)e.Item;

            if (dataItem.DisplayIndex == ListView1.EditIndex)
                //do something

I hope this information is helpful.

Yesterday at Orbius we upgraded from Visual Studio 2008 Beta 2 to RTM.  For the most part things went pretty well.  This isn’t something we can do without a plan. We’ve been using VS2008 since May.  Our entire code base would need to migrate smoothly.  By the end of the day we were happily running VS2008 RTM! 

Things went pretty smoothly, but this was an interesting warning from the .Net Framework 3.5 installer.  It was good for a laugh and we were able to move past it.


One of the guys  migrated his laptop to RTM and compiled our VS2008 solution.  There weren’t too many compiler errors, although we did have some problems with some of the LINQ code our projects.  I didn’t get all of the specifics, but I think it had to do with the fact that we use our DataContexts in a very disconnected way.  We get data, pass it around, modify it and eventually update the database using a different DataContext. Anyway, he came up with a work around.   There might have been some other problems but I figure if he didn’t mention them, they couldn’t have been too bad.  He checked the solution into SVN.

Once running the solution (web application), this was a popular message:

An item placeholder must be specified on ListView ‘membersView’. Specify an item placeholder by setting a control’s ID property to “itemPlaceholder”. The item placeholder control must also specify runat=”server”.

That is because they changed the ListView (the ListView rocks, by the way) a bit.  It used to be you could put ListView content in any old Server Control.  Now it must be within an asp:PlaceHolder. It’s an easy change, although we have lots of ListViews in our Solution.  Luckily, Matt on our team made all those changes. That’s about it.  I don’t recall too many other issues.

When I upgraded my laptop to RTM it took a while.  We followed ScottGu’s advice and completely uninstalled all Beta 2 applications and components first.  I uninstalled VS2008 Beta 2 and then followed the list of programs to uninstall (the list is in the links below).  Out of about 20 items on the list, I found about 7 that I needed to manually remove.  One catch…remember to uninstall accessories first (such as ReSharper and GhostDoc), just in case.  There were a few glitches that I wouldn’t expect.  Such as a warning to close an application that was blocking the install – only the blocking application was the installer itself!   Dean got a similar warning while installing the .Net Framework 3.5 on our server and he gave me the image from the top of this post.

Here are some links that may help:

I’m happy to announce that RDA has signed on as a Gold Level Contributor for Code Camp 2008.1.  I don’t think the Code Camp page is up on the Philly.Net site yet.  Meanwhile, you can get some details in this post.

I’m currently working on the details with some other companies and I’ll have more information coming out soon.

Don’t forget, we are still looking for Sponsors and Speakers!