RSS 2.0  Frustrated by Design
# 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
# Wednesday, April 16, 2008

DreamSpark

Look at the stuff students can download for FREE !

Visual Studio 2008 Professional Edition
Windows Server 2003 Standard Edition

SQL Server 2005 Developers Edition
Expression Studio

XNA Game Studio
XNA Game Studio

Visual Studio 2005 Professional Edition

This program was announced in February but it seems like alot of students still don't know about it.

Students, get the details HERE.

Wednesday, April 16, 2008 1:24:38 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [2] - Trackback
Dev Community | Misfit Geek [Syndicated]
# Monday, April 14, 2008

BlogEngine.NET

Today, while sitting in a discussion about the new Microsoft MVC Framework at the Microsoft MVP summit, I got an email (reading on my phone) from Kevin Karasinski, a developer at Sandcastle Interactive.

The subject line of the email was my blog password !

Kevin sure knows how to get a guys attention :)

Kevin, good guy that he is, was taking the time to let me know about a newly discovered (and already fixed) security defect in BlogEngine.net, which is the blogging engine that I use here at JoeOn.net. 

Thanks Kevin, you gave me a freakin' heart attack !!!!

Needless to say, my blog has been patched to remove the defect.

Kevin pointed me to Danny Douglass' blog entry HERE.

And [ HERE ] is the official BlogEngine.net patch announcement.

Kudos to Danny, and the BlogeEngine.net guys for fixing this so quickly.

And thanks to Kevin for taking the time to let me know, though maybe next time you can just call my cell phone :)

Monday, April 14, 2008 4:02:14 PM (Atlantic Standard Time, UTC-04:00)  #    Comments [4] - Trackback
ASP.NET | Misfit Geek [Syndicated] | Partners & Products
# 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]
# Friday, April 11, 2008

Alice

Say hello to Alice. [ More info here. ]

From their web site......

In Alice's interactive interface, students drag and drop graphic tiles to create a program, where the instructions correspond to standard statements in a production oriented programming language, such as Java, C++, and C#. Alice allows students to immediately see how their animation programs run, enabling them to easily understand the relationship between the programming statements and the behavior of objects in their animation. By manipulating the objects in their virtual world, students gain experience with all the programming constructs typically taught in an introductory programming course.

Friday, April 11, 2008 6:24:25 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [3] - Trackback
.NET | Dev Community | Misfit Geek [Syndicated]
# Thursday, April 10, 2008

Today Scott Guthrie posted about the new preview availability of ASP.NET Dynamic Data. [Click HERE to read his post.]

I know, the pace of new releases makes it hard to keep up and you need to pick and choose which things you invest your time in!

When you hear about ASP.NET 3.5 "Dynamic Data", you often see a screen-shot like the one Scott blogged.

step11

Resist the temptation to say "Yea, another datagrid control".

This is one of the most exciting new ASP.NET Technologies.

I'll be presenting on ASP.NET 3.5 Dynamic Data at ASP.NET Connections in a couple of weeks.

ASPCOnnections

After that - would you all like some How-D-I videos on Dynamic Data ????

Thursday, April 10, 2008 7:30:22 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [9] - Trackback
ASP.NET | Misfit Geek [Syndicated]

Family

I nearly never make non-technical posts to my blog, but today is my wife's birthday - and since I've developed friendships with so many of my readers, I wanted to wish Jill happy birthday "Out Load". (Thanks to my geek readers for indulging me.)

Jill, after 10 years, I Love you every bit as much as I did on the day I asked you to marry me. 

You are everything!

And, though I don't tell you often enough, I thank god every day for crossing our paths. I have no idea what I did to deserve you and our children, but life wouldn't be worth living with out you.

I promise to work to make this year one of your happiest !

I'm sure all my readers join me in wishing you the loudest Happy Birthday !

Thursday, April 10, 2008 6:31:53 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [9] - Trackback

# Wednesday, April 09, 2008

tool2_banner

$49

I'm a tools junkie! Anything that helps be work more efficiently is HUGE for me since every 10 minutes I can "save" in a day is 10 minutes with my Children, talking to my Wife, on my Harley, in the gym, etc.....

I've been a Visual SlickEdit user for many years, you can set it up to look/work like Visual Studio and it has syntax highlighting for EVERYTHING (even stuff I've never heard of) and there are versions for Windows, Mac OSX, Linux, Solaris, AIX, HP-UX, etc.

Introducing SlickEdit Tools for Visual Studio.

Now they've come out with 2 tools add-ins for Visual Studio.

  • Editing Tools
  • Versioning Tools

Each is priced at $49

You can read full feature lists here.

The versioning stuff is interesting but for me the Editing Toolbox ROCKS.

Here are the highlights from their site - download the trial, if you decide to keep it, it's only %40

Aliases and Acronyms:
Use directory aliases to save keystrokes and mouse usage when opening files. Use acronym expansion to save keystrokes when typing class, namespace, or function names in your code.
Auto Code Doc Viewer
Extract header comments into MSDN-like documentation, fully linked HTML help that can be browsed in Visual Studio as a tool window and exported for sharing with others.
Code Annotations
Insert comments and notes about code without actually modifying the source file.
Comment Wrapping
Enable automatic wrapping of any type of multi-line comment as you type. You can also reflow existing comments in the current file.
Icon Extractor
Simplify the task of finding quality icons and applying them to your applications.
Quick Profiling
Fine-tune your profiling to get information about a specific section of code. This feature allows you to time many cases that are not possible with standard profilers, such as timing complex loops, recursive functions, and the time between an object’s creation and disposal.
Regex Evaluator ( *** a must FOR all web developers)
Interactively create and test regular expressions, which are used to express text patterns for searching.
Code Navigation
Use keyboard shortcuts to jump from a symbol to its definition and to list all references for the current symbol.
Word Completion
Use commands to search for and insert additional text from a matching string.

Wednesday, April 09, 2008 9:49:00 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [2] - Trackback
Misfit Geek [Syndicated] | Partners & Products | Visual Studio
# Tuesday, April 08, 2008

Why not do it in writing.

scottkeynote

Scott's blog is one of the most widely read developer blogs in the world and is already translated into a few non-English languages.

·         Blog Posts in Chinese

·         Blog Posts in Japanese

·         Blog Posts in Spanish

Would you like to translate Scott's Blog into YOUR language on weblogs.asp.net? Virtually bring Scott to you country !

http://weblogs.asp.net/Portuguese ??

http://weblogs.asp.net/french ??

http://weblogs.asp.net/klingon ?? : )

Click HERE and email me to volunteer!

Tuesday, April 08, 2008 5:20:00 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [10] - Trackback
Dev Community | Misfit Geek [Syndicated]

Wendy Tanaka wrote an interesting piece in THIS Forbes on line article where she suggests that negotiating with Yahoo may not be worth the hassle and she suggests some other things that Microsoft could choose to do with the $40 Billion.

Here are some of her suggestions.

--Hire 40,000 engineers, at $100,000 apiece, for a decade

--Acquire Facebook (estimated to have a market value of $15 billion), along with just about any other meaningful social networking site, including MySpace, Bebo, Hi5 and LinkedIn. There would still be enough money left over to pay some consultants to help with integration.

--Spend eight times more than Google did last year to acquire traffic--and presumably make traffic more pricey for Google, to boot.

--Hire 80 million workers in China to do nothing but click on Microsoft properties and related ads for 10 years.

--Promise a free Big Mac to everyone who clicks on a Microsoft ad--and give away 14 trillion of 'em.

Tuesday, April 08, 2008 4:24:40 AM (Atlantic Standard Time, UTC-04:00)  #    Comments [0] - Trackback

Navigation
About Me
    Joe Stagner
Follow me on Twitter.

View Joe Stagner's profile on LinkedIn

MSDN

Search
RSS/Subscribe
  RSS 2.0 | Atom 1.0 | CDF  
Archive
<April 2008>
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910
Contact
Send mail to the author(s)  Send me email.
Statistics
Total Posts: 447
This Year: 3
This Month: 3
This Week: 3
Comments: 1449
Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2009
Joe Stagner
Sign In
Gaciously Hosted by MaximumASP.net
MaximumASP ROCKS !!!.
All Content © 2009, Joe Stagner