RSS 2.0  Frustrated by Design
# Friday, September 19, 2008
Friday, September 19, 2008 11:53:01 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [2] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated] | WCF
# Monday, July 21, 2008

We're very happy to announce that the first preview for the new Ajax features in ASP.NET just went live.

For more information check out the Roadmap.

This preview contains preview implementations for the following features:

  • Client-side template rendering
  • Declarative instantiation of behaviors and controls
  • DataView control
  • Markup extensions
  • Bindings

I'll work on videos to cover the new features !

As usual, all feedback is very welcome.

http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=15511

Monday, July 21, 2008 3:27:59 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Tuesday, July 08, 2008

It's finally hitting the street - "Advanced ASP.NET Ajax Server Controls"

I had the pleasure to be a technical reviewer on this book during the writing process and am really excited about it's release.

This book if one of the few that dive deep into the framework, its architecture and extensibility, and address the power-user/developer scenarios and it does it from a controls perspective. It's a big undertaking but Adam and Joel have done a great job.

As Nikhil said "If you're building applications in Ajax today, and want to take that to the next level, you'll want to look into the platform deeper beyond the out-of-the-box features i.e. its extensibility. You'll specifically want to build reusable components and controls, on both the server and on the client. Check out this book on more details like "the client script framework", "the script application object", "localization" and "the control toolkit" amongst many other relevant topics".

[ Get a copy HERE ]

Tuesday, July 08, 2008 2:38:50 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [1] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Wednesday, June 25, 2008

cs-gallery

ComponentArt releases Charting 2008.1, introducing advanced AJAX interactivity, dual 3D rendering engines, and a wealth of core charting features.

Grate for AJAX style data visualization !

Visit the Charting Gallery for live demos.

Wednesday, June 25, 2008 8:58:42 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated] | Partners & Products
# Wednesday, June 18, 2008

I recently had an email exchange with someone asking me about how to approach writing their own WYSIWYG editor control for web applications.

Perhaps an interesting academic exorcize, or maybe he has some very specific application  but it got me thinking about how many implementations there are out there already !

While searching I found this great list which is lifted entirely from Mike Pope [ Click HERE to Read at Mike's Blog ] - THANKS MIKE !

Rich Editor Controls that you can use with ASP.NET

HTML Editors
As near as I can tell, all of these work in-browser and produce HTML or XHTML.

Word Processing, RTF, PDF, and more
These variously support other formats, notably non-HTML (e.g. RTF) and sometimes PDF. Other/Not Sure
I'm not sure how exactly these fit into the picture; they're listed at least in one location as being ASP.NET editors.
  • Community Editor (BigByte). Desktop editing, it says; possibly not in-page HTML editing? Appears to be free.
  • DevEdit NX (Interspire). Not 100% clear that it supports ASP.NET.
More Information
  • A similar list is available at 123aspx.com.
  • Daniel Walzenbach published a list as well in December 2007. With pictures! :-)
  • Scott Mitchell has an article on using FreeTextBox.
  • "Building a WYSIWYG HTML Editor" A two-part article by Mitchell Harper. I'm pretty certain that this is for Internet Explorer only, tho.
Wednesday, June 18, 2008 11:11:24 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [4] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]

mozdev01 OK you AJAX Masters !

Check out ScriptLoader

ScriptLoader is a framework to manage your and third-part javascript libraries.

It will make you easier to call any script library(your or third-part) without injecting any dirty code.for that,you just configure some info in a configuration file.

http://sourceforge.net/projects/scriptloader/
Wednesday, June 18, 2008 10:38:11 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Tuesday, June 10, 2008

This spring I did a series of 4 videos on File Uploading in ASP.NET.

Here is the series .....


How Do I:
Simple File Uploads in ASP.NET

17 minutes, 17 seconds

How Do I:
Multiple File Uploads in ASP.NET Version 2

16 minutes, 9 seconds

How Do I:
Multiple File Uploads in ASP.NET Version 1

15 minutes, 41 seconds


How Do I:
File Uploads with an AJAX Style Interface

27 minutes, 33 seconds

In one of the videos I suggested combining techniques of a couple of the videos.

Well, Frank Walker from the National Library of Medicine decided to take the challenge.

Frank has shared his code with us. THANKS FRANK.

[ Click HERE to download the cool, combined uploader from Frank. ]

Tuesday, June 10, 2008 8:45:51 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Wednesday, May 28, 2008

website_banner_main

WUX315 - PHP on Windows: Not an Oxymoron!
Session Day/Time: 6/6/2008 10:15AM-11:30AM
Room: S230 A

Is it a well kept secret? From Microsoft Internet Information Services, to AJAX, to Microsoft .NET, Windows is a viable platform for your existing PHP based applications. In this session, see how to configure PHP on Windows for performance and reliability and how you can take PHP applications to the next level by leveraging .NET and Windows.

WUX314 - AJAX Programming with the Microsoft AJAX Technologies
Session Day/Time: 6/5/2008 4:30PM-5:45PM
Room: S320 C

Microsoft AJAX Developer technologies are a collection of offerings that make AJAX programming slick and productive, but have you wrapped your head around all the pieces? This session provides a soup-to-nuts explanation of the Microsoft AJAX Technology Stack and demonstrates how to use Microsoft Visual Studio for AJAX, The ASP.NET Extension for AJAX, The AJAX Control Toolkit, and non-Microsoft third-party AJAX Libraries to develop true RIAs.

Wednesday, May 28, 2008 6:33:20 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
.NET | AJAX | ASP.NET | Events | Misfit Geek [Syndicated] | Open Source
# Tuesday, May 27, 2008
ASP.NET 3.5 AJAX Pocket Guide
by Matthew Ellis

Read more about this book...

Ok readers. Check out this little nugget.

Matthew Ellis and Magma Interactive just released the ASP.NET 3.5 AJAX Pocket Guide.

It contains concise chapters packed with useful info for the ASP.NET AJAX Developer including a Client Side Reference, a Server Side Reference, Web Services, Extender Controls, The Control Toolkit and more.

At $1.26 per chapter - It's almost FREE !

Just click on the book image above to get the details over at Amazon.com

Tuesday, May 27, 2008 5:23:13 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Friday, May 16, 2008

I'm a jQuery Fan !

Lance Fisher has made an update to jQuery for Intellisense in Visual Studio 2008

[ Click here to read about it and download jQuery with the Intellisense updates. ]

Friday, May 16, 2008 4:09:10 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [9] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated] | Visual Studio
# Monday, May 12, 2008

logo.png

This looked interesting so I thought I would share it.

Please let me know what you think.....

From the CodePlex Description.

The Ajax Data Controls is a DotNetSlackers project. Developed on top of Asp.net Ajax Extension, the main goal of this project is to provide rich set of data controls for Client Centric Development Model. Since the data controls of Asp.net like GridView, DataList, Repeater etc does not have any Client Side Object Model thus it is not possible to work with these controls with Web Service / Page Methods call. The included controls exposes same API in the client side as the Asp.net version with few more enhancements. Currently the project contains the following controls:

  • Repeater
  • GridView
  • DataList
  • Pager

http://www.codeplex.com/AjaxDataControls

Monday, May 12, 2008 6:55:08 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [1] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]

If you reference an ASP.NET page that contains a scriptmanager in your js file like below you get intellisense for the entire Microsoft AJAX Library plus any additional scripts ref’d by the scriptmanager.  The easiest way to get the /// <reference/> entry in your js file is to drag n drop your .aspx page from solution explorer into  the contents of your js file.  VS magically adds the refJ

Since I tend to use stand-alone .js files I can just add this.

/// <reference name="MicrosoftAjax.debug.js" />

to my consuming page and intellisense is wired to my JavaScript code.

image001

Thanks to Marc Schweigert for the reminder !

Monday, May 12, 2008 6:43:32 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [1] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Tuesday, April 29, 2008

This is another one of those "Sniper Topics" that I like, again from PAKT Publishing.

Approximately 280 pages of drill down on Object Oriented Client Side development in JavaScript using the Microsoft AJAX Client Libraries.

Not only does this text enumerates the namespaces in the Microsoft AJAX Client Libraries, and provide good coverage of the Client Component Framework, but it teaches all the "whys" along with the "How Tos".

If your building AJAX applications and Microsoft's AJAX technology is at the center of your work then this book is a "must read".

Click on the book image above to check it out on Amazon.com

Tuesday, April 29, 2008 5:43:12 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Saturday, April 26, 2008

Thanks to everyone who attended my AJAX Sessions at the Microsoft Health & Life Sciences Developer's Conference in Atlantic City last week.

Here are links to the PowerPoints and Demos

ASP.NET AJAX Security [Demo Code] [PowerPoint Deck]

ASP.NET AJAX Patterns [Demo Code] [PowerPoint Deck]

.... and here are links to the free ASP.NET Security Books from Microsoft Patterns and Practices.

Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication

Improving Web Application Security: Threats and Countermeasures

Happy Reading.

Saturday, April 26, 2008 10:54:55 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Monday, April 21, 2008

Adv AJAX Server Controls

I frequently am asked to server as a technical reviewer on development books. Time doesn't permit me to always say yes but I try to make time to agree to do the more interesting titles.

This book is one I said yes to. Adam and Joel have done a great job of exposing this detailed subject.

Controls are such a powerful re-use mechanism and so under covered.

The book is due for release on July 15th and you can save 5% with an Amazon.com preorder.

[ Click HERE for the book on Amazon.com ]

Monday, April 21, 2008 2:09:26 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Saturday, April 19, 2008

Does your client code need to know what control caused your update panels to update or which of several UpdatePanels contained the triggering control ? Try this.... (Or do the same thing with addbeginRequest();

    1 <script type="text/javascript">
    2 <!--
    3 var prm = Sys.WebForms.PageRequestManager.getInstance();
    4 
    5 prm.add_endRequest(EndRequest);
    7 function EndRequest(sender,args)
    8     {
    9     alert(sender._postBackSettings.panelID + " -> " + sender._postBackSettings.sourceElement.id);
   10     }
   11  -->
   12 </script>


 Note that "id" contains the id of the CONTROL that caused the postback. panelId contains a string that appends the event trigger with the UpdatePanel name.   Note that if the update was caused by an event configured in the Triggers Collection or updated explicitly in JavaScript, the "Control" name will be the UpdatePanel.

Saturday, April 19, 2008 6:50:00 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [6] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Thursday, April 17, 2008
Thursday, April 17, 2008 12:09:32 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [8] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated] | Videos
# Sunday, April 13, 2008

I get an obscene amount of email. Since I've been working with the Developer Community at Microsoft for 7 years, my email address has been spread around a bit. I get about 1000 email a day. Very often from developers who what me to write code for them :)

I generally don't have time to do that, but sometimes I get an email from someone why has really tried to solve a problem that should be simple, but whose answer is not always as obvious as the problem would lead you to believe.

This week a Developer emailed me about updating an UpdatePanel.

One of the true strengths of ASP.NET is the ability to take several different approaches to writing applications based on your needs and preferred development style.

Though I think the UpdatePanel control is AWESOME, my personal preference for AJAX style programming leads me to write more client side code and communicate with the server via JavaScript enabled web service calls.

The problem was, the developer was using the UpdatePanel and, due to functionality in the business layer, he needed to prevent the user from click a submit button twice in a row. Meaning, when the user clicks the button that caused the UpdatePanel to update, he needed that buttonto be disabled until the UpdatePanel's refresh was complete.

Before Click.....

Pre-Update

Then, after the click but before the UpdatePanel has completed it's update.....

After_Click

And yes... I know that in a real application one should add some updating indicator.

So, the UpdatePanel definition looks like this.  

   22         <div>

   23             <asp:UpdatePanel ID="UpdatePanel1" runat="server">

   24                 <ContentTemplate>

   25                     <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

   26                     <br />

   27                     <br />

   28                     <asp:Label ID="Label1" runat="server" Text="Label" Width="622px"></asp:Label><br />

   29                     <br />

   30                 </ContentTemplate>

   31             </asp:UpdatePanel>

   32         </div>

   33         <br />

   34         <input id="SubButton" style="width: 618px" type="button" value="Call UpdatePanel Method" onclick="return SubButton_onclick()" />

   35         <br />

   36         <br />

 

Note that the HTML button control "SubButton" is outside the UpdatePanel and is not defined as a Trigger to the UpdatePanel.

 

In order to turn the Button off and get the UpdatePanel to update, we're going to do it all in JavaScript.

If you use an ASP.NET Button control and disable the Button with an OnClientClick event handler, that code fires first and the postback never occurs.

 

Our JavaScript "SubButton_onclick()" function looks like this.

 

    4 <script type="text/javascript">

    5 <!--

    6 function SubButton_onclick()

    7 {

    8     var prm = Sys.WebForms.PageRequestManager.getInstance();

    9     var mybutton = document.getElementById('SubButton')

   10     mybutton.disabled = true;

   11     prm._doPostBack('UpdatePanel1', '');

   12 }

   13 // -->

   14 </script>

 

Hopefully the code is self explanatory. 

 

The Button is disabled and the UpdatePanel postback is triggered.

 

But.... How do we know when the update is complete so we can re-enable the Button.

 

 

   37 <script type="text/javascript">

   38 <!--

   39 var prm = Sys.WebForms.PageRequestManager.getInstance();

   40 

   41 prm.add_endRequest(EndRequest);

   42 

   43 function EndRequest(sender,args)

   44     {

   45     var mybutton = document.getElementById('SubButton');              

   46     mybutton.disabled = false;

   47     }

   48  -->

   49 </script>

 

Luckily, the PageRequestManager is throughly evented. :) 

 

We just add an "EndRequest" event handler and have it re-enable the Button.

 

Pretty simple after you see the solution :)

 

[ Download the code HERE. ]

 

Sunday, April 13, 2008 3:53:57 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [11] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated]
# Monday, March 31, 2008

You've heard it. JavaScript is not a REAL programming language.

Well, it is NOW. Programming in JavaScript is inevitable.

And why not.

  • It is ubiquitous. (Supported by all major browsers.)
  • It supports good Object Oriented Development.
  • There is TONS of code out there.
  • There is a rapidly growing collection of rich, high quality JavaScript Frameworks and Libraries available.
  • It's been good enough to be implemented out of the browser in client technologies like Flash (ActionScript is for all intents and purposes ECMAScript, which is the new name for JavaScript)and SilverLight 1.0)
  • And, Server side technologies like Aptana's Jaxer

While I concede that "Web 2.0" technologies like SilverLight 2.0 (Programmed in C#, VB, or any .NET language), and Flash/Flex, and JavaFX have a strong place in the future of the web..... programming the DOM with JavaScript is here to stay.

I think we need to stop trying to avoid JavaScript and start embracing it, even if only for it's universal availability.

Microsoft is embracing JavaScript

  • We've added great development and debugging support fir JavaScript in Visual Studio (see links below.)
  • We've developed a GREAT set of JavaScript Extensions that are server independent, free, and open. [More Info Here]
  • Created a JavaScript friendly controls framework. [ See videos #62, #63, and #64 HERE. ]

So, if your ready to take JavaScript beyond the basics, here are some of my favorites to get you started.

Some Books on JavaScript beyond the syntax !

ProJSDP ProJSDP BeginJSandDOM

PracticalJSDOM AdvancedDOM JSObjects

Some JavaScript Tools

Aptana IDE (A GREAT, free AJAX IDE, great for JavaScript even if you're not doing AJAX)

Antechinus JavaScript Editor

SplineTech JavaScript Debugger

Internet Explorer 8 Beta (With great built in developer tools.)

Some Microsoft JavaScript Links

Microsoft JScript Blog

Microsoft JScript Reference

Video: JavaScript Debugging in Visual Studio 2008

Video: JavaScript Intellisense in Visual Studio 2008

A few better than average JavaScript Web Sites

JavaScript.com

W3 Schools JavaScript Tutorials

JavaScript Kit

Dynamic Drive

Monday, March 31, 2008 9:35:02 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [6] - Trackback
AJAX | Misfit Geek [Syndicated]
# Monday, March 24, 2008

AJAXWorld-RIA

AJAX World was a great confirmation for me. AJAX, RIA, or whatever term you use to describe this "new" way of building web applications is here to stay.

Relative to Microsoft, here are a few of my big take-a-ways.

  • Security matters even MORE than it has to date.
  • Web Development frameworks like ASP.NET that facilitate secure development are crucial.
  • Interest in Microsoft Silverlight is reaching a feverish level !
  • Alpha Geeks (even the ones who aren't exactly MS fans) are digging the new stuff in IE 8, especially the developer features. 

Thanks to everyone who attended my sessions. Having spent so much of the last 10 years focused on web security it's great to see the interest and awareness continue to grow.

Below are links to both my PowerPoint decks and all my code, including all the security code I showed you. I don't think I've ever released the security stuff before.

WARNING: This code is NOT finished code. I don't even suggest it's "good" code. It's stuff I assembled for illustrative purposes. USE AT YOUR OWN RISK and don't include it in your production applications. All standard disclaimers apply ! :)

ASP.NET AJAX Security [Demo Code] [PowerPoint Deck]

ASP.NET AJAX Patterns [Demo Code] [PowerPoint Deck]

Monday, March 24, 2008 11:38:12 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback
AJAX | Events | Misfit Geek [Syndicated]
# Thursday, March 13, 2008

image

AJAX opens many interesting new doors in terms of how we can tailor the user experience to the customers needs and how we can display content based on any number of state context.

This sometimes means fetching and manipulating HTML or XML in our server side code and sending it to the browser as execution time via an AJAX request.

Earlier today I was "sprucing up" a demo on implementing the "Partial Page Update Pattern" in preparation for a talk on AJAX Patterns that I'm giving at AJAX World next week in New York.

I always try to minimize my demo application dependencies and isolate the concept that I'm talking about as much as possible and I wanted to return some markup to my web page and dynamically update the DOM, but I didn't want to add a file or database dependency so I decided to just store HTML in a VB string.

I wanted more than trivial markup and HTML is time consuming to convert to a programming friendly string, what with all those quotes and all.

I decided to write a little quickie utility to do string conversion of cut-and-paste HTML when a little searching produced a free utility to do just what I wanted.

It's great for testing, demos, or if you have a manual cut-and-paste editing process. (But don't REALLY store HTML in your source code !)

Try it out.

[Just Click Here to get your copy - it's free.]

Thursday, March 13, 2008 2:03:49 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [2] - Trackback
AJAX | ASP.NET | Misfit Geek [Syndicated] | Partners & Products | Tips & Tricks
# Tuesday, March 11, 2008

image

Please joind me for these 2 webcasts this Thursday and Friday. VWG is a cool FREE set of tools to accelerate your ASP.NET AJAX and Silverlight Web Development. Guy Peled, CTO of Visual WebGui is joining me and he will build applications live during the webcats.

Click below to register - attendance is FREE !

Live From Redmond: Visual WebGui: An Enterprise AJAX application in 20 minutes.

It is all about simplicity: Simplicity in programming next generation complex AJAX application that makes the productivity difference.   In this Webcast we will demystify Visual WebGui. We will build a fully blown application in less than 20 minutes, and strip off the covers, showing you how you can cut your development cycle by as much as 90% .   Visual WebGui is open source, so you can dive into the code. Throughout the webcast we will demonstrate that while VWG enables rapid application development (RAD) , the developer is free to create custom controls, wrap third party controls , invoke HTML resources and interop with standard ASP.NET applications like DNN and others, all in a matter of minutes.

3/27/2008 11:00 PM Pacific Time (US & Canada)- 3/13/2008 2:00 PM | Duration:60 Minutes

 

Live From Redmond: Visual WebGui: Silverlight for line-of-business application.

In this webcast we will "light up", in minutes, the fully blown line-of-business application that we built in our previous webcast adding the rich look and feel of Silverlight as well as its enhanced performance. You will see how we accomplish this by a "push of a button". We will demonstrate how to make WinForms controls available to your web application and  how you can style your UI by using fully enabled Expression Blend. The outcome is a very light footprint client, unaffected by application size and weight, and as a bonus, secured by design.  You will be shown how you  can, extend, invoke, interop and customize your application using Visual WebGui. 

3/28/2008 11:00 PM Pacific Time (US & Canada)- 3/14/2008 2:00 PM | Duration:60 Minutes

-----

About the Live From Redmond series. This series of Live Meeting presentations are designed specifically for the community by members of the Microsoft product teams. The presentations are all done by actual team members working on the specific technology, and are a great way to hear from and ask your questions directly to the product team.

Tuesday, March 11, 2008 12:32:00 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [3] - Trackback
AJAX | ASP.NET | Events | Misfit Geek [Syndicated] | Partners & Products | Webcast
# Thursday, February 21, 2008

Here is the latest in my AJAX How-Do-I Video Series

Hope you like them !

How Do I: Retrieve Values From Server Side AJAX Controls

How Do I: The AJAX Toolkit Reorder Control

Thursday, February 21, 2008 11:17:21 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [3] - Trackback
AJAX | Misfit Geek [Syndicated] | Videos
# Tuesday, February 19, 2008

 

VWG-1 

My blog posts on Visual WebGui have generated allot of interest so I thought