Feed on
Posts
Comments

I fixed a bug this morning on our clients ASP.NET 2.0 website.   The site uses the ASP.NET 2.0 Login control.  If the user logged in with one account, logged out and attempted to login again they were not redirected to the destination page.

I coded the following in the Login control Authenticate event and it appears to solve the problem.

Protected Sub Login1_Authenticate _
     (ByVal sender As Object, _
ByVal e As System.Web.UI.WebControls.AuthenticateEventArgs) _
Handles Login1.Authenticate
‘ validation code here…
If e.Authenticated Then
        If Request.QueryString("ReturnUrl") IsNot Nothing Then
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, False)
Else
FormsAuthentication.SetAuthCookie(Login1.UserName, False)
‘ we shouldn’t have to do this
            ‘ but I’m  finding that the page doesn’t always redirect
Response.Redirect(Login1.DestinationPageUrl)
End If
    End If


I had a great time at the VSLive conference. 

I met a lot of interesting people.  Most of the attendees I talked to were local to the Toronto area.  Some of the projects they were working on sounded very exciting.  The biggest take-away I heard was that they can’t wait to get started using the new .NET 2.0 features. 

My talks all went well.  I had a few glitches.  This morning I couldn’t get my data-binding code to work for my Advanced User Controls talk.  It was working yesterday. I made no changes to the project, but the complex binding control just wouldn’t work.  I had other code to show though and I knew ahead of time.  In other words, it didn’t blow up during the talk.

My friend Josh Holmes didn’t get off so well.  In two of his talks the projector quit working the last 10 minutes of each talk.  Too bad!  He’s a funny guy so I’m sure he had something amusing to say.

Didn’t see one sight in Toronto this time.  Our hotel was out at the airport.  I was so busy with work and the conference that I never made it more that 3 blocks from my hotel.  While the conference was fun, I always hate it when I can’t spend some time site seeing and enjoying the local area.  One of the reasons I love to travel is to see what the world has to offer.  Maybe next year!


Abstract

Creating your own controls is a great way to augment your UI development. There’s more to creating user controls however than dropping a few constituent controls on a designer and crafting a few properties or methods. This session illustrates the techniques you need to elevate your user controls to the next level. Since other developers use your control, you need a firm grasp on how to make your control interact with the Visual Studio Forms designer. Learn how to decorate your control with design time adornments (example: Visio-style shape spinners). We’ll look at several powerful tools - Property Browser integration, Extender Property Providers, Type Converters, Designer Verbs, Custom Designers and UI Type Editors - that make your control easy to use, work effectively in the Visual Studio IDE and also look professional. Bonus tip #1: Add data-binding to your control. Bonus tip #2: Learn how to debug your control effectively.

What it’s about

When I create a Usercontrol for a .Net Windows Forms application I need to consider two different audiences.  First is the end user.  When I think about the person who will be opening the form and interacting with my control the most important consideration is how my control looks and works. 

The second person to consider is the developer who places my control on their form.  Quite often this is the same person creating the control, me.   But not always.  If you sell a package of controls or create reusable controls for your team then another set of eyes and hands will be working with your control.

The developer needs to have a control that is easy to use, easy to understand and helpful in every part of the development process. 

This talks addresses all the design-time, IDE tools that you can add to your control.


Alright, I love giving this talk.  I’ve always liked graphics programming, wrote my first animation piece on an Apple II.   Avalon, now with BORING and DRAB name Windows Presentation Framework (WPF), is very cool.   The places where Avalon touches your UI is everywhere.

Abstract

The next version of Windows (Windows Vista) will include a completely new graphics engine. This engine, Windows Presentation Foundation (WPF), will change the way you think about user interfaces. WPF (formerly called Avalon), soon to be retro-fitted onto Windows XP and Windows 2003, is a major shift in Windows graphics platform. Built, in part, on a new vector API, WPF blends traditional two-dimensional and three-dimensional systems, transparencies, animation, integrated multi-media and more in a single unified managed code model. Join me to see how WPF is controlled through XAML (Extensible Application Markup Language) or via code. See how incredibly easy it is to create three-dimensional applications (including controlling lights, camera and sprites). Examine the significant advances in color, printing, remoting, and audio processing that are included. Immense changes are coming. Be among the first to see what the WPF engine can do.

What it’s about.

Graphics.  Plain, complex, 3D and 2D.  Every kind of graphic programming you can think of.  

I am stunned at how many websites have absolutely dreadful credit card handling.  Pathetic, unhelpful, and just wrong sometimes. I have a litany of gripes about existing sites.  It’s embarrassing to be part of a group of software engineers that just can’t get the basics right.

Today’s example?  United Airlines Easy Check-in page (see screenshot below).  What’s wrong with the error message?  Not all credit cards have sixteen digits.  This website has just annoyed or peeved any customer who used an American Express - 15 digits, Diners club - 14 digits, and some Visa cards - 13 digits.  It took me two minutes to look up this info in my credit card processor documentation.  Too bad United Airlines developers don’t know how to look up this simple information. 

What’s your favorite online credit card validation story?

 

Time to explain what I’m doing with my second talk at Toronto VSLive 2006. 

Abstract

AJAX (Asynchronous JavaScript and XML) has been getting lots of press lately. It provides a very Windows-like experience for web applications. AJAX is a mixture of technologies (DHTML, script, XML and more) that produce highly-performant and scalable UI’s by leveraging asynchronous callbacks to your webserver. Did we mention that they look good too? A number of high profile sites including Google maps, Gmail, A9 and Flickr are built with AJAX tools. You can build similar apps in ASP.NET 2.0 because .NET introduced a handy API for out-of-band calls back to the server. After this session you’ll know how to exploit callbacks to build smooth, responsive interfaces too. If that’s not enough for you we’ll also take a quick tour of Atlas. Microsoft is quietly working on a new application framework (Atlas) that combines client side/server side development into a single useful library. See how Atlas extends JavaScript with numerous useful classes, interface enums and coordinates the traffic back to your server code.

What it’s about

AJAX is the hot web buzzword for 2006.  Every web developer is trying to figure out how to incorporate the asynchronous back channel into their applications.  AJAX is simply a way to send a request back to the server without refreshing the whole web page.  When the asynchronous call returns to the browser it has a payload (string argument) that we can use to update a portion of the existing page.  The X in AJAX stands for XML and it is one of the preferred methods for formatting the return text from the server.  There are other possibilities too:  (example: Simple strings and  JSON - Java Script Object Notation)

I proposed this talk for a couple of conferences. VSLive is the first conference to put it on their agenda.  The reason for the title - Async Triple Threat?  I noticed that there are three major ways to handle Async if you work for  Microsoft technology shop.  Roll your on - AJAX.  Use the limited async features of ASP.NET 2.0 or experiment with the upcoming Atlas (AJAX extensions) bits.    So I put examples of all three into the talk

I’ve got some mixed emotions about this talk.  One the one hand I’m really excited about simplicity that Atlas brings to AJAX web development.  On the other hand  Atlas is brand new and an ever evolving platform.  Which means I’m playing catch-up with Microsoft every week to stay on top of the latest releases.  I just put the finishing touches on the Atlas demo last night.  Knowing myself, I’ll probably fiddle and fuss over the demo during the next couple days.

I’m going to be showing the ultra-cool Atlas April CTP features.   See you at the talk.

 

Comments

5/1/2006 8:01 AM Mike

Walt,
When I came to the VS Live conference, I did not know a thing about AJAX. At the last minute I decided to attend your session, I was quite impressed.
Can you provide any code samples from your session?

I thought I would write about each of the talks I’m giving next week at VSLive Toronto.    My first talk is Smart Data Clients 2.0.  It’s part of the Smart Client track, a track that focuses on building applications that run on your OS.  Yes, I’m talking about Windows applications here.

Abstract

Working with data is a necessity for every business application. ADO.NET 2.0 is chock full of improvements and the Windows Form team has been steadily improving the data-binding pieces. We’ll start this data tour by looking at the new drag-and-drop data-binding features of Visual Studio. We see how easy it is to bind to databases, business objects, and Web services. Next we’ll look at the enhanced data controls (DataContainer, GridView, DataConnector, DataNavigator). Each of these controls is completely new and loaded with lots of new enhancements. We’ll walk you through a detailed exploration of these new data controls including: UI look and behavior, data-binding support, improved validation and formatting features, and better Null binding. Last on the agenda is a tour of the SQLClient changes—asynchronous data and data paging.

What it’s about

This is my oldest talk on the agenda and still one of the most popular.  What I try to show is how Microsoft has made data-binding usable in Windows Forms.  Really usable.  As in - you might really use data-binding to build production applications.

I start by showing the whole binding process - start to finish - within Visual Studio 2005.    Then I show a bunch of the improvements in the data controls, like the GridView control.   Then I focus for a few minutes on binding to sources that have Null values.  Remember the old days when your application would throw an exception you you tried to show a Null value in a bound control.  No more. 

Finally I show how to dynamically page data into a grid, pulling just enough rows to satisfy the bound controls current needs.

Five million copies of the Visual Studio Express Editions have been downloaded and registered.  FIVE MILLION in only five months.  The original plan from Microsoft was to have these editions free for the first 12 months, then to sell them for $49.00US.  Not anymore

Yesterday Microsoft broadcast the good news that they will NEVER charge you for any of the express versions.  Can you say “yeah”.

Next week I will be in Canada, more precisely I’ll be in Toronto.  I’m going to be talking at the VSLive conference there.  This is my second trip to the city.  Last year, I was there and spent a a day hanging out with Jeremy Wright.  Another night I wandered about the city with a group of speakers from the conference.  Scott Allen documented the evening walk and has the pictures here.  I had a great time and am looking forward to my second time in the city.

I have four talks this time.  I’ll be very busy during the three days I suspect.  What am I talking about this time?  Glad you asked.

  • Async Triple Threat — ASP.NET 2.0 Async APIs, Atlas and AJAX
  • Smart Data Clients 2.0
  • Avalon: Vector Graphics Come Alive
  • Advanced Custom Windows Forms Controls

http://www.ftponline.com/conferences/vslive/2006/toronto/asp-sessions.aspx

http://www.ftponline.com/conferences/vslive/2006/toronto/smart-sessions.aspx

I use the DeveloperExpress Refactor tool frequently when working in Visual Studio 2005.  I suspect a lot of other developers use it too, especially since it is available for free - for Visual Basic programmers.

There is a consistent bug in Refactor that hasn’t been fixed yet.  It’s more of a petty annoyance than a serious bug but I found a fix for it anyway.

The problem

When adding a class, user control or other item to a project the Add New Item dialog opens in the wrong folder.  The dialog should open in the Visual Basic folder. Instead it opens in the  Visual Basic/Local Project Items folder

Steps to fix.

  1. Close Visual Studio 2005
  2. Delete the "Local Project Items" folder that is under VBProjectItems in your install directory (C:\Program Files\Microsoft Visual Studio 8\VB\VBProjectItems by default).

« Newer Posts - Older Posts »