Based on my resent post, I have rewritten the code and turned it in to a custom control:
- It is no longer depending on the Futures CTP.
- If the username isn’t available it’s possible to get suggestions with available names.
- The web service UsernameResult is now returning a class which is automatically JSON serialized by ASP.NET AJAX and passed into JavaScript as a parameter.
- Fully integrated with the asp.net 2.0 membership.
Try out the online demo.
How to use the control
Register the control on the page:
<%
@ Register TagPrefix="one" Namespace="onesoft.common.controls" %>
Then add the control
Remember to set ControlToTest - just like on a validator control :-). All the other properties has defaults as shown above.
Add a ScriptManager to your page (before the usernameAvailability control) and define a ServiceReferance:
<one:usernameAvailability runat="server" ID="IsAvalible"
ControlToTest="Username"
ForeColor="DimGray"
NotAvailableTextColor="Red"
AvailableTextColor="CornflowerBlue"
StartUpTextColor="DimGray"
AvailableText="{0} is available"
NotAvailableText="{0} is not available"
StartUpText="Type a username"
SuggestionLinkText="Suggest"
UseSuggestion="true"></one:usernameAvailability>
The webservice has 2 functions:
IsAvailable - checking the availability of the current name
suggestAvailable – returning suggestions for available name.
Remember to include the file UsernameService.asmx to your root and add UsernameService.cs to App_Code.
That's it - now start checking for available usernames.
Try it out with
the online demo - type your preferred name, if it's available create the new user and retry with the same name - now try the suggestion link.... ok I know it isn't clever, but it is available usernames ;-)
Download the full sourcecode including the demo.
AJAXUsernameControl.zip (257,01 kb)
I welcome any comments and suggestions.
Enjoy ;-
Henrik