Blog - Microsoft .NET, ASP.NET, AJAX and more

Getting ActiveTabChanging Functionality from the AJAX TabControl

by Dave Marini 1/4/2010 8:08:00 PM

I have always considered myself to be quite client-side challenged. Having been soured to the thought of JavaScript by all the browser specific code I used to have to write years ago I swore off it and took to server-side development and never looked back. After a year’s hiatus doing WPF programming, I’ve recently found myself back in the thick of web development with new patterns and technologies at the forefront, namely the MVC framework and the ubiquity of jQuery. Before I begin this post I’d like to say that jQuery is, well, everything that is good about client-side programming in my opinion.

So recently I found the need to roll my own dirty form warning mechanism on a site I was working on. These forms contain quite a lot of fields and so there is gratuitous use of the TabControl from the Microsoft AJAX Control Toolkit. One of the requirements was to alert the user to changes made on one of the tabs and offer the option to save the changes before allowing the user to change tabs. Initially I thought that this task would be a breeze, what with the OnClientActiveTabChanged handler on the TabContainer control and all. Then the sad reality dawned on me. There is no way to cancel the changing of tabs from the client side. Like a freight train full of explosives it barrels on, destroying my workflow and with it any chance I’ll get sleep. But all is not lost, because with a few JavaScript ninja moves, some nifty jQuery (optional) and no personal life there is a clean solution to this problem, So what’s the answer? Read on for the details. More...

Shout it kick it on DotNetKicks.com Bookmark and Share

Silverlight 3 ElementName DataBinding Problem

by Damien White 11/19/2009 10:27:09 AM

I’ve been using Silverlight 3 heavily for the past few months, and during that time have discovered many things to love and hate.  One problem I faced with Silverlight 3 (that I should have blogged about earlier) is something I think many developers may have faced.  In the application I’ve been working on, we’ve broken up our functionality into “partial views” (we’re using MVVM) by encapsulating logic into Silverlight UserControls.  Well with this approach, we ran into an interesting binding problem.

Let’s say you have a UserControl, and that UserControl exposes a DependencyProperty.  Then within the UserControls content, you try to bind a control to that Dependency Property.  Well there’s an interesting issue with that approach in Silverlight 3.  Let’s look at a very simple example and see where the problem exhibits itself.

In this example, we’ll be creating a totally useless application to illustrate the point.  We’ll have a Page (MainPage.xaml), and one UserControl (MyControl.xaml).  The UserControl will consist of a single string property called MyText and the goal is to get that property’s value to be displayed in a TextBlock (which is within the UserControl).  We’ll then add that UserControl to the page, and we’ll dynamically set MyText on the UserControl.  Simple setup, right?  What can go wrong? Well, let’s get started.

More...

Shout it kick it on DotNetKicks.com Bookmark and Share
Tags: ,
Categories: Silverlight
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed

Book Review – Manning The Art of Unit Testing

by Damien White 9/30/2009 3:57:11 PM

The Art of Unit TestingTo some, “unit testing” is a four letter word.  While it’s unfortunate, the feeling is justified by poor experiences, lack of knowledge, and so on.  Personally, I’ve had mixed experiences with unit tests.  I’m sure many of you have encountered similar situations.  After reading The Art of Unit Testing by Roy Osherove, I feel far more confident in not only understanding unit tests, but also the best practices for implementation.  If this book had only been written years ago, maybe all those poor unit testing experiences would have never happened. 

The fundamental thing that I think is most misunderstood about unit testing is simply not understanding what a unit test is.  In fact, Roy just recently posted an updated definition of how he would classify a unit test on his blog.  Of course a definition isn’t always enough, and in his book, Roy starts off by fully explaining all the aspects of what a unit test should be and the basic outline for how to succeed.  I would highly recommend that you visit his book’s webpage (http://manning.com/osherove/) and download the sample first chapter

This seriously may be the best book ever written on unit testing.  I understand that “the best” is a strong statement, but this book is really the perfect package.  Let’s look at what makes this such a winner… More...

Shout it kick it on DotNetKicks.com Bookmark and Share
Tags:
Categories: Review | C#
Actions: E-mail | Permalink | Comments (2) | Comment RSSRSS comment feed

Silverlight 3 NavigationCacheMode To The Rescue

by Damien White 9/22/2009 9:29:46 PM

Missing-Piece I’ve been lucky enough to work on a new project for a client involving Silverlight 3 and the Silverlight Virtual Earth CTP.  One reoccurring issue that keeps coming up is performance, and I’m always looking for ways to balance functionality with speed.  In the app we are loading up a Virtual Earth map and populating it with data (nothing new).  We have a fair amount of data being loaded for various functions and layers.  Users are able to show and hide layers as well as interact with the map’s basic functions (zoom, pan, etc).  Users can then navigate to other areas based on selections from the map page. 

Since we’re using SL3, we’re using the Navigation Framework to navigate between “pages.”  If you’re not familiar with the Navigation Framework, check out Martin Mihaylov’s article, or if you prefer videos, be sure to check out Tim Heuer’s video on the topic.  Now let’s move on to the problem, and a solution…

More...

Shout it kick it on DotNetKicks.com Bookmark and Share
Tags:
Categories: Silverlight
Actions: E-mail | Permalink | Comments (3) | Comment RSSRSS comment feed

ASP.NET 4.0 AJAX Issues

by Damien White 8/27/2009 8:14:58 PM

PuzzledMan I’ve been using ASP.NET AJAX 4.0 quite a bit lately in ASP.NET 3.5 applications.  I encountered two issues tonight, and I hope this post saves someone some grief.

The first problem has to do with referencing the ASP.NET AJAX 4.0 library within an ASP.NET 3.5 application, and the second was a surprising data binding issue using the DataView

If you are looking for more information on ASP.NET AJAX 4.0, be sure check out my other articles on the site.

Issue 1 – The ScriptManagerProxy and CompositeScripts

The first issue I encountered was a client side error when using the DataView on a content page in my ASP.NET 3.5 SP1 application.  This site utilizes master pages, so I’m using a WebForm, otherwise I probably would have just gone with a plain old HTML page.  Regardless, since this is an ASP.NET application and the ScriptManager is declared in the Master page, I added the ASP.NET 4.0 AJAX scripts to a ScriptManagerProxy (instead of the ScriptManager itself). The code for the ScriptManagerProxy looks very similar to that for the ScriptManger.

More...

Shout it kick it on DotNetKicks.com Bookmark and Share
Tags:
Categories: AJAX | ASP.NET
Actions: E-mail | Permalink | Comments (0) | Comment RSSRSS comment feed