<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7828102367315047331</id><updated>2011-12-29T09:33:58.705-08:00</updated><category term='Windows XP'/><category term='Twine'/><category term='decode'/><category term='bugs'/><category term='web hosting'/><category term='gridview'/><category term='Semantic Web'/><category term='Membership'/><category term='visibility'/><category term='treeview'/><category term='UI'/><category term='draggable panel'/><category term='DataTable'/><category term='clarity'/><category term='StreamWriter'/><category term='software development'/><category term='Visual Studio 2008'/><category term='travel'/><category term='bit encoding'/><category term='e-mail'/><category term='remote server'/><category term='Web 3.0'/><category term='64 bit'/><category term='patch'/><category term='string handling'/><category term='jQuery'/><category term='logout'/><category term='CSS'/><category term='ThickBox'/><category term='GoDaddy'/><category term='product review'/><category term='security'/><category term='graphics'/><category term='Web.config'/><category term='humour'/><category term='modal popup'/><category term='XML'/><category term='Session'/><category term='postback'/><category term='connection limit'/><category term='IIS'/><category term='cost estimation'/><category term='beforeunload'/><category term='event handling'/><category term='software'/><category term='server-side'/><category term='HTML'/><category term='Intellisense'/><category term='pageLoad'/><category term='Page Methods'/><category term='design'/><category term='mashing'/><category term='ViewState'/><category term='testing'/><category term='JavaScript'/><category term='encode'/><category term='blogging'/><category term='ASP.net'/><category term='state management'/><category term='Crystal Reports'/><category term='UpdateProgress'/><category term='setup'/><category term='Vista'/><category term='technology'/><category term='Microsoft'/><category term='smtp'/><category term='CheckBoxList'/><category term='debugging'/><category term='MessageBox'/><category term='Visual Studio 2005'/><category term='SQL Server'/><category term='AJAX'/><category term='search engine'/><category term='current user'/><category term='publshing'/><category term='onclientclick'/><category term='Fiddler'/><category term='Visual Basic'/><category term='clients'/><category term='artificial intelligence'/><category term='database'/><category term='Windows 7'/><category term='setTimeout'/><category term='Internet'/><category term='login'/><category term='stream'/><category term='music'/><category term='communication'/><category term='mapping'/><category term='Caching'/><category term='website'/><category term='dialog box'/><category term='delegates'/><category term='Master Page'/><category term='C#'/><category term='client-side'/><category term='redirection'/><category term='history'/><category term='server'/><category term='IPostBackHandler'/><category term='timeout'/><title type='text'>MWTech</title><subtitle type='html'>I've been blogging for several years now but mostly as an outlet to express my views on current events and as a place to publish my photography.

This particular blog will be entirely devoted to my work as a software developer and anything else related to technology that I found fascinating.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3944693898338329170</id><published>2011-12-13T11:39:00.000-08:00</published><updated>2011-12-13T12:02:08.589-08:00</updated><title type='text'>Enhancing Telerik's RadListBox</title><summary type='text'>As a follow-up to the previous post, I wanted to share the work I've done to add server-side functionality via client-side calls.  Though this example focuses heavily on Telerik controls, what I've developed is completely generic ASP.net code that can be used in any situation where one needs to cause a server-side event but one is not natively available from the control.
  
The basic challenge I </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3944693898338329170/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2011/12/enhancing-teleriks-radlistbox.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3944693898338329170'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3944693898338329170'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2011/12/enhancing-teleriks-radlistbox.html' title='Enhancing Telerik&apos;s RadListBox'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-243uBWuR8qY/Tuenjd-NEcI/AAAAAAAAV7c/aaPCBfN4AhM/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3450087569924569887</id><published>2011-12-10T13:31:00.001-08:00</published><updated>2011-12-10T13:57:22.297-08:00</updated><title type='text'>Retrieving a Nested ASP.Net Object with Javascript &amp; jQuery</title><summary type='text'>Though I consider myself to be an accomplished C# / ASP.Net web developer, one of my weaknesses lies with client-side Javascript programming.  I don't like the free-form, type unsafe nature of it and firmly believe that long term maintainability of Javascript code is a nightmare.

The introduction of jQuery has improved things somewhat but there are still times when things can get very tricky.  </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3450087569924569887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2011/12/retrieving-nested-aspnet-object-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3450087569924569887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3450087569924569887'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2011/12/retrieving-nested-aspnet-object-with.html' title='Retrieving a Nested ASP.Net Object with Javascript &amp; jQuery'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XHzvDHsN0qY/TuPTLGILR5I/AAAAAAAAV7M/OaI37ymx9JY/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4235918730346602211</id><published>2011-01-22T15:22:00.000-08:00</published><updated>2011-01-22T16:15:16.362-08:00</updated><title type='text'>How to Prevent Visual Studio from Timing Out While Debugging an ASP.net Application</title><summary type='text'>For some time now I've experienced the annoying phenomenon of Visual Studio timing out very quickly during a debugging session.  I was never able to precisely nail down exactly how long the timeout duration was but it seemed like a couple of minutes.

I'd searched for a solution to this problem before but could never find one.  Today I did.  Unfortunately the author wasn't very verbose about how </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4235918730346602211/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2011/01/how-to-prevent-visual-studio-from.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4235918730346602211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4235918730346602211'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2011/01/how-to-prevent-visual-studio-from.html' title='How to Prevent Visual Studio from Timing Out While Debugging an ASP.net Application'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/TTtkzrHSblI/AAAAAAAARkw/-z-0H2AGhl4/s72-c/Capture.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-113355399766617166</id><published>2011-01-11T21:08:00.000-08:00</published><updated>2011-01-11T21:19:38.167-08:00</updated><title type='text'>Input Parameters: One Better than Strings and Enums</title><summary type='text'>The ASP.Net/C# project I'm working on has several methods that resemble this general pattern:
  public void UpdateDataTable(DataRow dataRow, object objFldName, object newValue)
  {
    string fieldName = objFldName.ToString();
    .
    .
    .
In times past the 2nd parameter would always be string fieldname but to increase data typing and reduce errors I started introducing Enums wherever </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/113355399766617166/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2011/01/input-parameters-one-better-than.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/113355399766617166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/113355399766617166'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2011/01/input-parameters-one-better-than.html' title='Input Parameters: One Better than Strings and Enums'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-5485505184813136094</id><published>2010-12-28T17:55:00.000-08:00</published><updated>2010-12-28T17:55:20.621-08:00</updated><title type='text'>The Social Network</title><summary type='text'>I finally saw The Social Network, the not entirely factual but somewhat documentary-based film about Mark Zuckerberg and the rise of Facebook from its launch in 2004 to 500 Million users today.  Here's the trailer:



Many more clips from the film can be seen here.

I must say that I was both enthralled and inspired by the movie.  How closely it resembles what actually happened with Facebook over</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/5485505184813136094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2010/12/social-network.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5485505184813136094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5485505184813136094'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2010/12/social-network.html' title='The Social Network'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-882048366293928863</id><published>2010-12-28T17:22:00.000-08:00</published><updated>2010-12-28T17:22:06.049-08:00</updated><title type='text'>How to Get a Footer to Behave Like You Expect</title><summary type='text'>When developing web applications I must confess that dealing with CSS issues is amongst my least favourite things.  I understand the basics of CSS, of course, but take no pleasure in learning every last detail.  And don't even get me started about the differences in behaviour between browsers!!!


With the web app I've been working on for the past few years I had a partial solution for a footer </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/882048366293928863/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2010/12/how-to-get-footer-to-behave-like-you.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/882048366293928863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/882048366293928863'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2010/12/how-to-get-footer-to-behave-like-you.html' title='How to Get a Footer to Behave Like You Expect'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4499094633618939502</id><published>2010-09-09T20:22:00.000-07:00</published><updated>2010-09-09T20:22:21.734-07:00</updated><title type='text'>Adding Items to the ASP.Net ListView</title><summary type='text'>Have you ever encountered what you thought would be an easy programming task but then realized you were in the middle of a nightmare? This is exactly what happened to me the past few days when I tried to implement the ListView control into my ASP.Net 3.5 project.  Here's a screenshot of my prototype version:


Essentially what I was trying to build was a fancy looking horizontal listbox.  Having </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4499094633618939502/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2010/09/adding-items-to-aspnet-listview.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4499094633618939502'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4499094633618939502'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2010/09/adding-items-to-aspnet-listview.html' title='Adding Items to the ASP.Net ListView'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/TImdlTrU7eI/AAAAAAAAQzU/WPOnwxCQ8uY/s72-c/Image1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6324605364512303501</id><published>2010-08-02T19:21:00.000-07:00</published><updated>2010-08-02T19:23:27.539-07:00</updated><title type='text'>Is VS2008 Hanging After Debugging an ASP.net Project?</title><summary type='text'>I start &amp; stop Visual Studio 2008 hundreds of times per day as part of the normal debugging cycle.  In my case, it's running my ASP.net project in Internet Explorer 8.  For some time now, there's been a delay of upwards of 10 seconds when stopping the project, before I could gain control of VS2008 again.

This finally got so annoying that I did some research and found this.  I tried every single </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6324605364512303501/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2010/08/is-vs2008-hanging-after-debugging.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6324605364512303501'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6324605364512303501'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2010/08/is-vs2008-hanging-after-debugging.html' title='Is VS2008 Hanging After Debugging an ASP.net Project?'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-5806456746284317306</id><published>2010-07-27T18:18:00.000-07:00</published><updated>2010-07-27T18:20:51.048-07:00</updated><title type='text'>Expanding the Usefulness of Global.asax</title><summary type='text'>I've long utilized the 'Global.asax' file to run assorted startup methods, both from an Application and Session perspective.  One limitation of this file is that you can't introduce "using" statements like you can in any normal C# file.  This forces you to prefix every method and class with its full definition.  This isn't so bad but I've reached a point where I have more complex code I need to </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/5806456746284317306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2010/07/expanding-usefulness-of-globalasax.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5806456746284317306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5806456746284317306'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2010/07/expanding-usefulness-of-globalasax.html' title='Expanding the Usefulness of Global.asax'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2574598529001538872</id><published>2010-07-14T18:31:00.000-07:00</published><updated>2010-07-14T18:41:02.926-07:00</updated><title type='text'>Multiple Interchangeable User Controls on One Web Page</title><summary type='text'>I'm building an ASP.Net web page in which there's a need to display any one of about twenty different user controls at any one time.  The contents of each user control is varied, with each holding a different assortment of labels, textboxes, dropdown listboxes, etc.  Assorted criteria on the page determines which user control is displayed.  The image shown on the left shows a trio of examples </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2574598529001538872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2010/07/multiple-interchangeable-user-controls.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2574598529001538872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2574598529001538872'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2010/07/multiple-interchangeable-user-controls.html' title='Multiple Interchangeable User Controls on One Web Page'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/TD5W7Y5OaFI/AAAAAAAAQks/vlipyxKk14M/s72-c/Interchangeable+User+Controls.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7234703883373922234</id><published>2010-05-03T17:29:00.000-07:00</published><updated>2010-05-03T17:29:20.893-07:00</updated><title type='text'>Tracking a Telerik RadTreeView via the UniqueID Property of Each Node</title><summary type='text'>The large ASP.Net project I've been working on makes extensive use of Telerik's excellent TreeView control.  Here's an example of its implementation:


It's important to note that the Save button you see on the toolbar is used for saving all changes on the page as a batch.  There is no need for a user to press "OK" (or equivalent) after changes on each node.  To accomplish this was a little </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7234703883373922234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2010/05/tracking-telerik-radtreeview-via.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7234703883373922234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7234703883373922234'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2010/05/tracking-telerik-radtreeview-via.html' title='Tracking a Telerik RadTreeView via the UniqueID Property of Each Node'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/S99T6sFEGyI/AAAAAAAAQg4/uvoF3FgSBxI/s72-c/RadTreeview+Example.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2261406086688417777</id><published>2009-12-31T13:49:00.000-08:00</published><updated>2009-12-31T13:49:32.621-08:00</updated><title type='text'>How Best to Keep a Treeview in Sync with SQL Server?</title><summary type='text'>I've run into a bit of a challenge with my work and thought I might be able to get some good advice by drawing attention to it here.  I've outlined the problem quite succinctly here.

If you have any Best Practice ideas based on your own work, please do leave a comment if you can.  Thanks!</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2261406086688417777/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/12/how-best-to-keep-treeview-in-sync-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2261406086688417777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2261406086688417777'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/12/how-best-to-keep-treeview-in-sync-with.html' title='How Best to Keep a Treeview in Sync with SQL Server?'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3506671428106382582</id><published>2009-11-19T14:57:00.000-08:00</published><updated>2009-11-19T14:57:59.792-08:00</updated><title type='text'>Syntax Highlighter</title><summary type='text'>I'd like to send a shout out &amp; much thanks to Nilesh Thakkar, a software engineer at SIHL in India for recommending I introduce Syntax Highlighter into this blog.  It provides a super simple way to display source code to fellow developers.  You'll see it used in all future posts.

Incidentally, for anyone else writing a blog on Blogger, Matthew Ball has provided a step-by-step explanation of how </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3506671428106382582/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/11/syntax-highlighter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3506671428106382582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3506671428106382582'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/11/syntax-highlighter.html' title='Syntax Highlighter'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-9051633308945421495</id><published>2009-11-18T16:09:00.000-08:00</published><updated>2009-11-19T14:52:42.199-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bit encoding'/><category scheme='http://www.blogger.com/atom/ns#' term='CheckBoxList'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='decode'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='encode'/><title type='text'>Encoding &amp; Decoding Bit-Sums For a CheckBoxList</title><summary type='text'>Have you ever had occasion where you need to allow users to select one or more items in a list?  With ASP.Net a good UI control to do that with is the CheckBoxList.  Here's a pair of examples:



Then the question arises, how do you store their selections?  If the potential list is quite long then you're probably going to want to use a CDF string of the values you've assigned to each list item - </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/9051633308945421495/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/11/encoding-decoding-bit-sums-for.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/9051633308945421495'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/9051633308945421495'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/11/encoding-decoding-bit-sums-for.html' title='Encoding &amp; Decoding Bit-Sums For a CheckBoxList'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6Bf3V-RKSMI/SwSJZQJyVoI/AAAAAAAAPZw/ibDTTmzjE2k/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-8937983808437447088</id><published>2009-09-20T18:29:00.000-07:00</published><updated>2009-09-20T18:42:39.825-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server'/><category scheme='http://www.blogger.com/atom/ns#' term='connection limit'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows XP'/><title type='text'>Lessons Learned from Setting Up One's Own Test Server</title><summary type='text'>I've had occasion to set up a simple test server on which to test an AJAX enabled ASP.Net web app.  99% of the time there'll be just me or a client (in a distant location) testing it.  Knowing that this load was quite small, I felt confident using an old P4 machine with Windows XP.But lo and behold, strange things started occurring.  At seemingly random times the app would hang.  This was most </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/8937983808437447088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/09/lessons-learned-from-setting-up-ones.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8937983808437447088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8937983808437447088'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/09/lessons-learned-from-setting-up-ones.html' title='Lessons Learned from Setting Up One&apos;s Own Test Server'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-8008511014696215553</id><published>2009-09-18T15:55:00.000-07:00</published><updated>2009-09-18T15:59:21.080-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='timeout'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Frustrating Deployment Experience!</title><summary type='text'>I've deployed a few simple AJAX-enabled web pages to a local server that is accessed through the Internet by just two people: me &amp; a client.When running locally in the VS2008 environment it works perfectly fine but when accessed through this server there are frequent and mysterious timeouts.  There appears to be no pattern to when &amp; why they occur.  Sometimes I get strange errors with codes in </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/8008511014696215553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/09/frustrating-deployment-experience.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8008511014696215553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8008511014696215553'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/09/frustrating-deployment-experience.html' title='Frustrating Deployment Experience!'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-5523964459314424754</id><published>2009-08-27T11:57:00.000-07:00</published><updated>2009-09-18T16:01:17.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Find All Occurences of a Specific Field Name in SQL Server</title><summary type='text'>Here's a useful T-SQL script that will identify every table that has a field with a specific name:select sysobjects.name  from syscolumns      left join sysobjects on sysobjects.id = syscolumns.id  where syscolumns.name like 'myFieldName'  order by 1Source - Steve Gray</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/5523964459314424754/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/08/find-all-occurences-of-specific-field.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5523964459314424754'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5523964459314424754'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/08/find-all-occurences-of-specific-field.html' title='Find All Occurences of a Specific Field Name in SQL Server'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6524640414326800623</id><published>2009-08-26T21:00:00.000-07:00</published><updated>2009-08-26T22:01:08.720-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><title type='text'>Developer AutoLogin &amp; Redirect</title><summary type='text'>A large project I'm working on these days includes a Login page which each user must pass through before being able to access the rest of the site.  There is code similar to this that prevents unauthorized entry onto every page:For some time I would just comment out this code until the rest of the module was complete.  The problem with that is that as the application became more &amp; more </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6524640414326800623/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/08/developer-autologin-redirect.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6524640414326800623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6524640414326800623'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/08/developer-autologin-redirect.html' title='Developer AutoLogin &amp; Redirect'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SpYHJduevTI/AAAAAAAAPOo/8Up2y8OK7-Q/s72-c/0+-+Page_Load+Code.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7701845500598460200</id><published>2009-08-17T01:26:00.000-07:00</published><updated>2009-10-18T15:31:07.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MessageBox'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>A "Subtle" MessageBox</title><summary type='text'>For years now, whenever I wanted to display a message box to the user I'd use some variation of the following:    // Displays an alert message box to the user.    public static void ShowMessage(string msg)    {  msg = Tools.FixJavaScriptString(msg);  Page page = HttpContext.Current.CurrentHandler as Page;  ScriptManager.RegisterStartupScript(page, page.GetType(),  Guid.NewGuid().ToString(), "</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7701845500598460200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/08/subtle-messagebox.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7701845500598460200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7701845500598460200'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/08/subtle-messagebox.html' title='A &quot;Subtle&quot; MessageBox'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6Bf3V-RKSMI/SokPMKVu8II/AAAAAAAAPOA/ZUxJBXPATNk/s72-c/SubtleMsgHtml.JPG' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-1732695201638581323</id><published>2009-06-16T12:43:00.000-07:00</published><updated>2009-06-16T12:55:09.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='IPostBackHandler'/><category scheme='http://www.blogger.com/atom/ns#' term='ViewState'/><category scheme='http://www.blogger.com/atom/ns#' term='state management'/><title type='text'>IPostBackHandler and EnableViewState</title><summary type='text'>I've spent several hours troubleshooting a crazy bug, which is explained in detail here.  In a nutshell, the changed state of toolbar buttons (ASP.Net LinkButton controls) was not being kept.  Every time a partial postback occurred on the web page, the changes would disappear.I did much research and learned that the IPostBackHandler mechanism is what was responsible for restoring the control </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/1732695201638581323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/06/ipostbackhandler-and-enableviewstate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1732695201638581323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1732695201638581323'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/06/ipostbackhandler-and-enableviewstate.html' title='IPostBackHandler and EnableViewState'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4907149023210804919</id><published>2009-06-11T13:38:00.000-07:00</published><updated>2009-06-11T13:43:13.042-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Master Page'/><category scheme='http://www.blogger.com/atom/ns#' term='pageLoad'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>pageLoad() and $(document).ready()</title><summary type='text'>I just read a pair of articles by Dave Ward over at his excellent Encosia site.  This one focuses on the differences between pageLoad() and $(document).ready()  and this one focuses on having a pageLoad() function in both a Content page and a Master page.If you're not 100% familiar about when these functions fire (and don't fire) then I'd strongly recommend reading both articles.</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4907149023210804919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/06/pageload-and-documentready.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4907149023210804919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4907149023210804919'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/06/pageload-and-documentready.html' title='pageLoad() and $(document).ready()'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6340492510910541839</id><published>2009-06-09T17:42:00.000-07:00</published><updated>2009-06-09T18:06:07.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Master Page'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='event handling'/><title type='text'>Cacading Events in a Master-Content Page Project</title><summary type='text'>I came across a situation where I needed to add a toolbar to a Master Page and monitor the toolbar button events from the Content Pages.  I did a bunch of research and came across this article.  It explains what one must do to accomplish this.One key necessity is to add a directive similar to this on every content page:  &lt;%@ MasterType VirtualPath="~/main.Master" %&gt;Then in the Master Page you </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6340492510910541839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/06/cacading-events-in-master-content-page.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6340492510910541839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6340492510910541839'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/06/cacading-events-in-master-content-page.html' title='Cacading Events in a Master-Content Page Project'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7415228455339230564</id><published>2009-06-07T21:56:00.000-07:00</published><updated>2009-06-07T21:58:06.469-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='product review'/><category scheme='http://www.blogger.com/atom/ns#' term='testing'/><title type='text'>Review: Windows 7 - 64 bit Release Candidate</title><summary type='text'>For those seeking unbiased independent feedback on the upcoming Windows 7, these comments are not mine but come from a tech savvy friend/colleague:Windows 7 RC 64-bit – Notes:- One thing I noticed right off the hop was that it went out and automatically went looking for drivers for the hardware in my laptop. It must have reported my configuration back to Microsoft and then automatically </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7415228455339230564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/06/review-windows-7-64-bit-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7415228455339230564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7415228455339230564'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/06/review-windows-7-64-bit-release.html' title='Review: Windows 7 - 64 bit Release Candidate'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-1289858836093191741</id><published>2009-06-03T15:03:00.000-07:00</published><updated>2009-06-03T15:12:05.346-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='modal popup'/><category scheme='http://www.blogger.com/atom/ns#' term='dialog box'/><category scheme='http://www.blogger.com/atom/ns#' term='ThickBox'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>ThickBox Demo Project</title><summary type='text'>As a follow-up to my recent postings about ThickBox, I've created a demonstration page, which succinctly summarizes my work on ThickBox to date.  It also provides some improvements over what I've written previously.  Plus, you're able to download all of the code as well, which should especially help people learning jQuery and ThickBox anew.</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/1289858836093191741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/06/thickbox-demo-project.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1289858836093191741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1289858836093191741'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/06/thickbox-demo-project.html' title='ThickBox Demo Project'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-8941688150064542775</id><published>2009-05-31T19:16:00.000-07:00</published><updated>2009-05-31T19:24:08.891-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='modal popup'/><category scheme='http://www.blogger.com/atom/ns#' term='dialog box'/><category scheme='http://www.blogger.com/atom/ns#' term='ThickBox'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Further Thoughts on ModalPopupExtender to ThickBox Conversion</title><summary type='text'>I added an important paragraph to my earlier post on this subject, which reads as follows:Let me also say from the outset that not all dialog boxes can be converted over easily. To date I have not found a way to get rid of the Modal Popup Extender if the dialog box depends on server-side code for its operation. The basic problem is that if a postback has to occur then the ThickBox dialog box will</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/8941688150064542775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/further-thoughts-on-modalpopupextender.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8941688150064542775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8941688150064542775'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/further-thoughts-on-modalpopupextender.html' title='Further Thoughts on ModalPopupExtender to ThickBox Conversion'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-8025265973649937967</id><published>2009-05-28T15:34:00.000-07:00</published><updated>2009-05-31T17:55:45.577-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='dialog box'/><category scheme='http://www.blogger.com/atom/ns#' term='ThickBox'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Converting the ModalPopupExtender to ThickBox</title><summary type='text'>As a follow-up to my two articles on using jQuery's ThickBox plugin instead of the AJAX Control Toolkit Modal Popup Extender, I thought it prudent to provide a checklist of what steps are needed, as I've even forgotten some myself at times!Let me also say from the outset that not all dialog boxes can be converted over easily.  To date I have not found a way to get rid of the Modal Popup Extender </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/8025265973649937967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/converting-modalpopupextender-to.html#comment-form' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8025265973649937967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8025265973649937967'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/converting-modalpopupextender-to.html' title='Converting the ModalPopupExtender to ThickBox'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/Sh96SDXO1LI/AAAAAAAAN_U/U-E4XVIViTY/s72-c/image1.JPG' height='72' width='72'/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-574039969792111937</id><published>2009-05-24T15:52:00.000-07:00</published><updated>2009-05-24T16:32:00.927-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='client-side'/><category scheme='http://www.blogger.com/atom/ns#' term='setTimeout'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><category scheme='http://www.blogger.com/atom/ns#' term='UpdateProgress'/><title type='text'>Client-Side Progress Indicator</title><summary type='text'>Long ago I learned how to properly wire up the AJAX UpdateProgress control.  This works perfectly to display a wait indicator while the AJAX UpdatePanel is performing a partial page postback.  That's fine for server-side operations but what about on the client-side?Lately I've been doing a lot more work on the client-side, in no small part due to my adoption of jQuery as a standard for all of my </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/574039969792111937/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/client-side-progress-indicator.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/574039969792111937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/574039969792111937'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/client-side-progress-indicator.html' title='Client-Side Progress Indicator'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/ShnP1v8feEI/AAAAAAAAN-c/kAONeBxfjUo/s72-c/Image1.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3500456473103670313</id><published>2009-05-18T18:09:00.000-07:00</published><updated>2009-05-18T19:38:20.944-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><title type='text'>Passing Objects to Javascript Functions</title><summary type='text'>Shifting from WinForms programming to ASP.Net web development was not an easy transition for me.  One of the most difficult things was dealing with Javascript for client-side work.  The language is poorly typed and way too freeform for my taste.  Hence, much of the example code I've seen often resembles a plate of spaghetti.Now that I've adopted jQuery into my everyday work, building client-side </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3500456473103670313/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/passing-objects-to-javascript-functions.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3500456473103670313'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3500456473103670313'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/passing-objects-to-javascript-functions.html' title='Passing Objects to Javascript Functions'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6Bf3V-RKSMI/ShIWq9iOMyI/AAAAAAAAN7c/xgKNmsII0gw/s72-c/jscript+1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6653509636147600512</id><published>2009-05-09T09:45:00.000-07:00</published><updated>2009-05-11T21:33:49.414-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='server-side'/><category scheme='http://www.blogger.com/atom/ns#' term='dialog box'/><category scheme='http://www.blogger.com/atom/ns#' term='ThickBox'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Using ThickBox with Server-side Buttons</title><summary type='text'>For a while now I've been looking for a jQuery equivalent to the Modal Popup Extender.  Two key requirements were:It had to be able to be called from server-side code.The dialog box itself had to have ASP.Net buttons.The first requirement proved easy, using code like this:      string script = "$(document).ready(function() {tb_show('Sample Title', '#TB_inline?height=120&amp;width=300&amp;inlineId=</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6653509636147600512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/using-thickbox-with-server-side-buttons.html#comment-form' title='14 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6653509636147600512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6653509636147600512'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/using-thickbox-with-server-side-buttons.html' title='Using ThickBox with Server-side Buttons'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SgW6ZodG6vI/AAAAAAAAN0k/qBquAqQtBnY/s72-c/Capture.JPG' height='72' width='72'/><thr:total>14</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-414080177577770926</id><published>2009-05-08T14:36:00.000-07:00</published><updated>2009-05-08T15:28:01.673-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='server-side'/><category scheme='http://www.blogger.com/atom/ns#' term='ThickBox'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Calling ThickBox From Server-side Code</title><summary type='text'>I'm actively engaged in replacing as many of the AJAX Control Toolkit components as I can with jQuery Plugin equivalents.In terms of replacing the Modal Popup Extender, I did a lot of research and have decided to go with ThickBox.  It's simple to use, has been around for some time, and appears to be fairly flexible.  For ASP.Net developers there are several good articles about using it.  This was</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/414080177577770926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/calling-thickbox-from-server-side-code.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/414080177577770926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/414080177577770926'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/calling-thickbox-from-server-side-code.html' title='Calling ThickBox From Server-side Code'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/SgSuKVq1rBI/AAAAAAAAN0c/sD3g44hF0xs/s72-c/DialogBox.JPG' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-5129606435102884693</id><published>2009-05-07T13:00:00.000-07:00</published><updated>2009-05-08T15:13:31.199-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='postback'/><title type='text'>IsPostBack for Client-Side Code</title><summary type='text'>In client-side code, I needed to determine whether the pageLoad function was being run the first time the page was loaded or on a subsequent postback.  Searching around, many said there was no such function.  But then I came across one posting which illustrated that there indeed is ... at least to detect partial postbacks:function pageLoad(sender, e){if (!e.get_isPartialLoad()){}}</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/5129606435102884693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/ispostback-for-client-side.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5129606435102884693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5129606435102884693'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/ispostback-for-client-side.html' title='IsPostBack for Client-Side Code'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7363134283164280867</id><published>2009-05-02T17:44:00.000-07:00</published><updated>2009-05-02T19:17:42.409-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Intellisense'/><category scheme='http://www.blogger.com/atom/ns#' term='setup'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>How to Get jQuery Intellisense Working with VS2008</title><summary type='text'>Intellisense provides great assistance with anyone starting out with a new programming language.  Learning jQuery from scratch, I've found this very much to be the case.  Oh sure, one can develop in any language without such assistance.  In fact, I have fond memories of teaching myself AutoLISP in the "ancient" year of 1990.  Back then there was no Windows and the main IDE was the DOS equivalent </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7363134283164280867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/how-to-get-jquery-intellisense-working.html#comment-form' title='12 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7363134283164280867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7363134283164280867'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/how-to-get-jquery-intellisense-working.html' title='How to Get jQuery Intellisense Working with VS2008'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6Bf3V-RKSMI/SfzsGLYI07I/AAAAAAAANu4/voIgUGpgFPE/s72-c/jQuery+Intellisense+not+working+in+External+Javascript+file.jpg' height='72' width='72'/><thr:total>12</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3290794705878780795</id><published>2009-05-02T14:40:00.000-07:00</published><updated>2009-05-02T17:46:13.367-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Intellisense'/><category scheme='http://www.blogger.com/atom/ns#' term='patch'/><title type='text'>Mea Culpa re jQuery Intellisense</title><summary type='text'>Prior to direct integration into their Visual Studio product, Microsoft has gone to great lengths to make jQuery easy to use with VS2008.  More specifically, they've provided a special patch that provides Intellisense support for jQuery development.Try as I might though, I just couldn't get it installed on my computer.  Whenever I tried, it told me that the supported product was not installed on </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3290794705878780795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/mea-culpa-re-jquery-intellisense.html#comment-form' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3290794705878780795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3290794705878780795'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/mea-culpa-re-jquery-intellisense.html' title='Mea Culpa re jQuery Intellisense'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/Sfzm3V9FyiI/AAAAAAAANuo/O5ZU12cRN6U/s72-c/VS2008+About+Box.jpg' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-23895990693456948</id><published>2009-05-01T12:30:00.000-07:00</published><updated>2009-05-01T12:52:55.622-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>Setting Default Focus to the Correct TextBox in a Login Control</title><summary type='text'>If you're using the ASP.Net Login control then your login page may look something like this:The username, by the way, was automatically placed into the textbox via a cookie.  And though it's not immediately visible in the above screenshot, the cursor is in the Password textbox via the server-side SetFocus() method.  The user, upon being presented with this screen, can then just type their </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/23895990693456948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/05/setting-default-focus-to-correct.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/23895990693456948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/23895990693456948'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/05/setting-default-focus-to-correct.html' title='Setting Default Focus to the Correct TextBox in a Login Control'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/Sd5E2LQDSTI/AAAAAAAANhw/k_1U9fRn0uo/s72-c/WithoutMenu.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3455313090351525791</id><published>2009-04-27T15:07:00.000-07:00</published><updated>2009-04-27T15:11:53.140-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='Fiddler'/><category scheme='http://www.blogger.com/atom/ns#' term='64 bit'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><title type='text'>Using Fiddler with Visual Studio 2008</title><summary type='text'>Fiddler is a great tool but when I tried to use it to monitor a Visual Studio 2008 web app running locally on my Vista 64-bit computer, it did not work. I searched around some and finally found this blog posting.  Within the comments a fellow suggested changing the URL to this syntax:     http://ipv4.fiddler:1234/MyApp...I assume this is intercepting traffic in between Fiddler and VS2008.  </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3455313090351525791/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/04/using-fiddler-with-visual-studio-2008.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3455313090351525791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3455313090351525791'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/04/using-fiddler-with-visual-studio-2008.html' title='Using Fiddler with Visual Studio 2008'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2773410326557201032</id><published>2009-04-26T15:24:00.000-07:00</published><updated>2009-04-26T15:31:59.748-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='redirection'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='IIS'/><category scheme='http://www.blogger.com/atom/ns#' term='web hosting'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Smart Redirection</title><summary type='text'>I have a situation where I have a test server running on my home network.  I was using it to host just one application but when I wanted to do so with 2 or more, I ran into a problem because external URLs could only be redirected to the root folder.After some experimenting I found a simple solution that seems to work very well: In the root of Inetpub/wwwroot either remove "default.htm" or change </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2773410326557201032/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/04/smart-redirection.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2773410326557201032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2773410326557201032'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/04/smart-redirection.html' title='Smart Redirection'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2842459742065484234</id><published>2009-04-24T16:45:00.000-07:00</published><updated>2009-04-24T20:53:58.422-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Master Page'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>2 Ways to Load jQuery from an ASP.Net Master Page</title><summary type='text'>If you're getting started with using jQuery in ASP.Net, you'll probably come across a situation where you would like to load it from a Master Page so that it's available globally for all Content Pages.  When you do so you'll find that you get assorted errors for different reasons.After reading many articles and much trial &amp; error I have determined two different approaches to get it working.  Note</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2842459742065484234/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/04/2-ways-to-load-jquery-from-aspnet.html#comment-form' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2842459742065484234'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2842459742065484234'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/04/2-ways-to-load-jquery-from-aspnet.html' title='2 Ways to Load jQuery from an ASP.Net Master Page'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2063764255577753182</id><published>2009-04-22T22:21:00.001-07:00</published><updated>2009-04-30T16:49:35.592-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='XML'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='Crystal Reports'/><title type='text'>Upgrading Crystal Reports Files from VS2005 to VS2008</title><summary type='text'>I just upgraded a fairly large project from Visual Studio 2005 to 2008.  Everything went fairly smoothly but I did encounter hundreds of errors when I got around to upgrading the Crystal Reports data files.In VS2005 I have a pair of files for each report:ReportName.rptReportName.xsdwhere "ReportName" changes accordingly.In VS2008, when you bring an XSD file into a project it creates 3 other files</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2063764255577753182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/04/upgrading-crystal-reports-files-from.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2063764255577753182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2063764255577753182'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/04/upgrading-crystal-reports-files-from.html' title='Upgrading Crystal Reports Files from VS2005 to VS2008'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-1870174324648833352</id><published>2009-04-09T11:36:00.000-07:00</published><updated>2009-04-09T11:59:50.167-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='server-side'/><category scheme='http://www.blogger.com/atom/ns#' term='design'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Using runat="server" with HTML Elements</title><summary type='text'>ASP.Net developers know that in their markup pages they can use a combination of HTML Elements and ASP.Net Controls.  The syntax is mildly different but there is one major distinction:ASP.Net Controls always include the following:  runat="server"Whereas HTML Elements do not.  Or at least that's what I thought!I have a web app that utilizes a left menu to display modules to the user:It works great</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/1870174324648833352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/04/using-runatserver-with-html-elements.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1870174324648833352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1870174324648833352'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/04/using-runatserver-with-html-elements.html' title='Using runat=&quot;server&quot; with HTML Elements'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6Bf3V-RKSMI/Sd5BfSSgGzI/AAAAAAAANhg/8mbU6IQaevA/s72-c/LeftMenu.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3874346055422755830</id><published>2009-04-07T10:00:00.000-07:00</published><updated>2009-04-07T10:31:34.794-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='jQuery'/><title type='text'>jQuery</title><summary type='text'>Last night I attended a great talk about jQuery given by Rod Paddock of Dashpoint Software.  He was up from Austin, Texas and was a very entertaining speaker.  Here's a summary of his talk.This was part of the monthly speaker series organized by the .netBC Users Group.  This time though it wasn't held at a BCIT facility but instead was at Microsoft's Richmond office.  It's nowhere near as fancy </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3874346055422755830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/04/jquery.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3874346055422755830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3874346055422755830'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/04/jquery.html' title='jQuery'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SduHwr6AQpI/AAAAAAAANhI/J3SxJ6u8zbk/s72-c/jQuery.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4158690660234097965</id><published>2009-01-16T17:58:00.000-08:00</published><updated>2009-01-16T18:04:34.947-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='string handling'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Retrieving a Person's Last Name from a FullName field</title><summary type='text'>I encountered a unique situation where a client's database table had usernames stored in a single "FullName" field, rather than the more common approach of having one field for the first name and another field for the last name.  Restrictions within the company prevent this from ever being altered.  Yet I needed a way to retrieve a person's last name, no matter how a name might be formatted.Based</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4158690660234097965/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/01/retrieving-persons-last-name-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4158690660234097965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4158690660234097965'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/01/retrieving-persons-last-name-from.html' title='Retrieving a Person&apos;s Last Name from a FullName field'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-8847466772286835998</id><published>2009-01-16T17:39:00.000-08:00</published><updated>2009-01-16T17:56:43.261-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='treeview'/><title type='text'>How to Expand/Collapse a TreeView with Javascript</title><summary type='text'>I encountered a task today that I thought would be extremely simple: Add a button that would expand/collapse a treeview in a toggle-like manner:But after I implemented my code, it kept getting stuck on "Expand All".  The reason turned out to be that the button was forcing a partial postback in the AJAX Update Panel, even though I had no server-side event defined.The solution was to modify the </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/8847466772286835998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2009/01/how-to-expandcollapse-treeview-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8847466772286835998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8847466772286835998'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2009/01/how-to-expandcollapse-treeview-with.html' title='How to Expand/Collapse a TreeView with Javascript'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SXE5I_59p2I/AAAAAAAAMdw/kwtkmNN7rPA/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-197253901283544012</id><published>2008-12-29T19:51:00.000-08:00</published><updated>2008-12-29T20:00:55.350-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><category scheme='http://www.blogger.com/atom/ns#' term='stream'/><title type='text'>How to Load an Image from the Internet</title><summary type='text'>I built a simple web page that allows one to listen to radio stations from across Canada:At first I was loading each station's logo from its parent website.  Some were quite large so I had to do a check to determine its dimensions.  My first inclination was to use this method:System.Drawing.Image.FromFileBut I quickly learned that it was only useful for images stored on the local server's hard </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/197253901283544012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/12/how-to-load-image-from-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/197253901283544012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/197253901283544012'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/12/how-to-load-image-from-internet.html' title='How to Load an Image from the Internet'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SVmbY3fFoJI/AAAAAAAAMTw/WcsmrkzhTro/s72-c/radio.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7864690192754347233</id><published>2008-12-10T14:19:00.000-08:00</published><updated>2008-12-10T15:47:17.554-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='remote server'/><category scheme='http://www.blogger.com/atom/ns#' term='publshing'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><category scheme='http://www.blogger.com/atom/ns#' term='database'/><title type='text'>ASP.Net Database Publishing Wizard</title><summary type='text'>If you've been developing an ASP.Net DB web app locally and need to publish the DB onto a server that you don't have direct control of, then you're likely going to find it very tricky.  Microsoft has built a tool which solves the problem.The SQL Server Database Publishing Wizard is a free utility that greatly simplifies the process of publishing your DB to a remote server.  It asks for a lot of </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7864690192754347233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/12/aspnet-database-publishing-wizard.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7864690192754347233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7864690192754347233'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/12/aspnet-database-publishing-wizard.html' title='ASP.Net Database Publishing Wizard'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6Bf3V-RKSMI/SUBB6EF4oZI/AAAAAAAAMHA/XLeaurmjm98/s72-c/Data+Publishing+Wizard+1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2630933036995597293</id><published>2008-12-01T22:04:00.001-08:00</published><updated>2008-12-01T22:08:59.104-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><title type='text'>Customizing a Breakpoint in the VStudio IDE</title><summary type='text'>If you're like me, then you frequently setup breakpoints throughout your code to assist you with debugging.  Today I had a unique situation where I wanted the code to stop only when a variable acquired a specific value.  I looked around the Visual Studio menus but couldn't see anything to help me.  So I posted this on an ASP.Net forum.  Sure enough, within a few hours a fellow responded, pointing</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2630933036995597293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/12/customizing-breakpoint-in-vstudio-ide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2630933036995597293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2630933036995597293'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/12/customizing-breakpoint-in-vstudio-ide.html' title='Customizing a Breakpoint in the VStudio IDE'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6Bf3V-RKSMI/STTQ1HIHJbI/AAAAAAAAL9M/W6FUrvbH5lQ/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3898572579728722992</id><published>2008-11-27T11:27:00.000-08:00</published><updated>2008-11-27T12:37:48.736-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Basic'/><category scheme='http://www.blogger.com/atom/ns#' term='history'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Reverting Back to Visual Basic 6</title><summary type='text'>Though I spend most of my life these days working with C#.net (and absolutely love it by the way!) occasionally I get a request from a long-standing client to update an old WinForms app. I built the first version in 1995 with Visual Basic 1.0 for DOS.  I so wanted to write it in VB 3.0 for Windows but they insisted that they were more comfortable with DOS apps.So build it I did.  It was so </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3898572579728722992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/11/reverting-back-to-visual-basic-6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3898572579728722992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3898572579728722992'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/11/reverting-back-to-visual-basic-6.html' title='Reverting Back to Visual Basic 6'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/SS73fTTfsNI/AAAAAAAAL38/rz1ee8PpmzU/s72-c/Map1.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3121549863361238055</id><published>2008-11-21T22:34:00.000-08:00</published><updated>2008-11-21T22:47:22.658-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='delegates'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Passing a Method as a Parameter</title><summary type='text'>I have a library that has a number of methods similar to this:    public static DataTable GetContracts()    {      string tableName = "Contracts";      DataTable dataTable = (DataTable)Tools.GetCacheObject(tableName);      if (dataTable == null)      {        dataTable = DataObjects.Common.GetContractsFromDB();        Tools.AddToCache(tableName, dataTable);      }      return dataTable;    }  The</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3121549863361238055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/11/passing-method-as-parameter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3121549863361238055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3121549863361238055'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/11/passing-method-as-parameter.html' title='Passing a Method as a Parameter'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6003451776263534439</id><published>2008-11-19T22:48:00.000-08:00</published><updated>2008-11-19T22:54:11.000-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DataTable'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Obtaining the largest ID value from a DataTable</title><summary type='text'>In the dotNet Framework data tables are often used to represent tables from a database.  And in these there's often an "ID" column.  A common desire is to obtain the largest ID value in the data table.  I did some searching and couldn't find a direct answer.  So I experimented and came up with a very simple solution:    public static int GetMaxID(DataTable dataTable)    {      // Sort the DataRow</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6003451776263534439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/11/obtaining-largest-id-value-from.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6003451776263534439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6003451776263534439'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/11/obtaining-largest-id-value-from.html' title='Obtaining the largest ID value from a DataTable'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2694122384970103474</id><published>2008-11-19T20:08:00.000-08:00</published><updated>2008-11-19T20:18:00.417-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='state management'/><category scheme='http://www.blogger.com/atom/ns#' term='Session'/><title type='text'>Better Understanding of State Management in ASP.Net</title><summary type='text'>For some time I've been using all of these special ASP.Net objects to assist with state management:CacheApplicationSessionUp until now though, I was misinformed about something.  I had thought that when I retrieved a complex object out of one of these state management objects that I was getting a copy of it.  In this way, I could do some work on the "temporary object" but then had to save it back</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2694122384970103474/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/11/better-understanding-of-state.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2694122384970103474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2694122384970103474'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/11/better-understanding-of-state.html' title='Better Understanding of State Management in ASP.Net'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-5791563605148433056</id><published>2008-11-13T21:51:00.000-08:00</published><updated>2008-11-13T22:41:24.890-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='smtp'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Web.config'/><category scheme='http://www.blogger.com/atom/ns#' term='e-mail'/><title type='text'>Dynamically Modifying Web.Config's MailSettings</title><summary type='text'>Most modern ASP.Net websites need to send e-mails.  One reason is that the Password Recovery control within the Memberships &amp; Roles infrastructure needs to send the user an e-mail with a temporary password when he forgets his.Typically, when e-mails are sent, this section of web.config is examined for SMTP credentials:  &lt;system.net&gt;    &lt;mailSettings&gt;      &lt;smtp&gt;        &lt;network host="</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/5791563605148433056/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/11/dynamically-modifying-webconfigs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5791563605148433056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5791563605148433056'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/11/dynamically-modifying-webconfigs.html' title='Dynamically Modifying Web.Config&apos;s MailSettings'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-8175776046150605591</id><published>2008-11-05T15:39:00.000-08:00</published><updated>2008-11-05T16:00:00.001-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='current user'/><category scheme='http://www.blogger.com/atom/ns#' term='login'/><category scheme='http://www.blogger.com/atom/ns#' term='Membership'/><title type='text'>Obtaining the Current User from ASP.Net's Membership Infrastructure</title><summary type='text'>The extensive membership (&amp; roles) library available to ASP.Net developers is very powerful but also bewildering at times.  Case in point is how to obtain the current username.  Having just implemented it in a sophisticated multi-user app, I've been forced to really put it to the test.Depending on the situation, the current username can be obtained in these different ways:Login1.</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/8175776046150605591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/11/obtaining-current-user-from-aspnets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8175776046150605591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8175776046150605591'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/11/obtaining-current-user-from-aspnets.html' title='Obtaining the Current User from ASP.Net&apos;s Membership Infrastructure'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2856074154750229212</id><published>2008-11-03T18:00:00.000-08:00</published><updated>2008-11-03T18:08:30.018-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='Caching'/><title type='text'>Using an External Javascript File with ASP.Net</title><summary type='text'>I came across a very strange problem and a solution that I think others will benefit from.To make things more modular I've started placing all commonly used Javascript functions into an external ".js" file. When using AJAX, the only thing you have to do to define each such file in the ScriptManager:But here's the weird thing: Say you have a Javascript function called "abc" setup and working.  If </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2856074154750229212/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/11/using-external-javascript-file-with.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2856074154750229212'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2856074154750229212'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/11/using-external-javascript-file-with.html' title='Using an External Javascript File with ASP.Net'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SQ-tijS8jGI/AAAAAAAALt8/gEVuuKTyhug/s72-c/ScriptManager.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3544328849387085393</id><published>2008-10-29T16:05:00.000-07:00</published><updated>2008-10-29T16:58:34.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='timeout'/><category scheme='http://www.blogger.com/atom/ns#' term='logout'/><category scheme='http://www.blogger.com/atom/ns#' term='Session'/><category scheme='http://www.blogger.com/atom/ns#' term='postback'/><title type='text'>How to Redirect to Login Page after a Session Timeout</title><summary type='text'>In ASP.Net 2.0 applications there's a special event handler called "Session_End" that exists in Global.asax.  It is fired when the Session Timeout occurs.I use this event handler to write key Session variables (all DataTables at the moment) out to a special holding area within the associated database. The next time the user logs in, these same Session variables are restored with the previous data</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3544328849387085393/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/10/how-to-redirect-to-login-page-after.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3544328849387085393'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3544328849387085393'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/10/how-to-redirect-to-login-page-after.html' title='How to Redirect to Login Page after a Session Timeout'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-327670761546842852</id><published>2008-10-27T12:34:00.000-07:00</published><updated>2008-10-27T12:44:49.913-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='onclientclick'/><category scheme='http://www.blogger.com/atom/ns#' term='postback'/><category scheme='http://www.blogger.com/atom/ns#' term='gridview'/><title type='text'>OnClientClick and Postback</title><summary type='text'>I created a small grid that looks like this:Intuitively, it makes no sense for the "Discard" button at the bottom to be enabled if none of the checkboxes above it are selected.After building the JavaScript to handle this logic, I thought I had done everything correctly.  But I noticed that everytime I pressed the "Toggle" LinkButton, a postback was performed.  Considering that I had no </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/327670761546842852/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/10/onclientclick-and-postback.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/327670761546842852'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/327670761546842852'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/10/onclientclick-and-postback.html' title='OnClientClick and Postback'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SQYZIVgKz9I/AAAAAAAALsI/vkGrtZiGmfA/s72-c/Grid.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7285748671157318345</id><published>2008-10-26T16:53:00.000-07:00</published><updated>2008-10-26T17:29:04.782-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visibility'/><category scheme='http://www.blogger.com/atom/ns#' term='modal popup'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Visible = false  vs.  display:none</title><summary type='text'>I learned a painful little lesson today which hopefully will benefit others.Most every ASP.Net control has a Visible property, which can be set to either 'true' or 'false'.  If you've ever set it to 'false' and look at how it's rendered, you'll see this HTML property: style="display:none"But when you're using the AJAX Control Toolkit, the two ways of hiding a control are not always equal.For </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7285748671157318345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/10/visible-false-vs-displaynone.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7285748671157318345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7285748671157318345'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/10/visible-false-vs-displaynone.html' title='Visible = false  vs.  display:none'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6Bf3V-RKSMI/SQUJQ2LbkoI/AAAAAAAALrw/8Cbnhq2UzFs/s72-c/Code1.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-1527349940493099743</id><published>2008-08-31T13:20:00.000-07:00</published><updated>2008-08-31T13:25:01.242-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Using SetFocus in an AJAX Panel</title><summary type='text'>If you have a TextBox on a regular ASP.net web page then you can force the initial focus to it with code such as this:     SetFocus(textBox);But if your web page is AJAX enabled then this won't work.  But the following code will:     ScriptManager.GetCurrent(this).SetFocus(textBox);</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/1527349940493099743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/08/using-setfocus-in-ajax-panel.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1527349940493099743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1527349940493099743'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/08/using-setfocus-in-ajax-panel.html' title='Using SetFocus in an AJAX Panel'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6912909352433552693</id><published>2008-05-31T22:24:00.000-07:00</published><updated>2008-05-31T22:42:12.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ViewState'/><title type='text'>Turning Off ViewState</title><summary type='text'>ASP.Net's ViewState functionality is an absolutely fantastic feature but is highly overused by many new web developers.  The problem with it of course is that the more items that are stored, the more data is returned upon postback.  Page sizes getting inflated and often for no particular good reason.Most of my apps have [at least] these two common pages:AboutView Error LogThe latter is an </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6912909352433552693/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/turning-off-viewstate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6912909352433552693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6912909352433552693'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/turning-off-viewstate.html' title='Turning Off ViewState'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-5291286146082578057</id><published>2008-05-29T10:54:00.000-07:00</published><updated>2008-05-29T11:18:25.590-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='humour'/><category scheme='http://www.blogger.com/atom/ns#' term='cost estimation'/><category scheme='http://www.blogger.com/atom/ns#' term='clients'/><title type='text'>Less Than Technical Clients</title><summary type='text'>You know the old expression, "the customer is always the boss" ?  Well, this story takes that expression to the outer limits ... and then over the proverbial ledge!The very worst clients are those who have already estimated how long your work should take.  In my experience, such conversations often go like this:Client: "I've been looking at this module and think it should take 10 hours to </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/5291286146082578057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/less-than-technical-clients.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5291286146082578057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/5291286146082578057'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/less-than-technical-clients.html' title='Less Than Technical Clients'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-1915433547569109591</id><published>2008-05-21T13:27:00.000-07:00</published><updated>2008-05-21T15:17:33.143-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><title type='text'>Integrating FancyZoom into an ASP.Net Website</title><summary type='text'>I've long been searching for an easy, cool way to display full-sized images when one clicks on a thumbnail image.  Being an ASP.Net AJAX developer, this isn't always as simple as one would expect, as things sometimes just don't work in this environment whereas they work fine in pure HTML.  I'm not a JavaScript guru and so don't find it appealing to have to hack into someone else's code to get it </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/1915433547569109591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/integrating-fancyzoom-into-aspnet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1915433547569109591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/1915433547569109591'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/integrating-fancyzoom-into-aspnet.html' title='Integrating FancyZoom into an ASP.Net Website'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6Bf3V-RKSMI/SDSbGjvS4uI/AAAAAAAAFDc/TiK6uG4_rVI/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-581010603600206960</id><published>2008-05-20T11:22:00.000-07:00</published><updated>2008-05-20T11:26:24.588-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashing'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><title type='text'>Windows Live Mashups</title><summary type='text'>Here's a neat web page that shows off how developers have mashed up Windows Live maps with other data.  Very cool!</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/581010603600206960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/windows-live-mashups.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/581010603600206960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/581010603600206960'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/windows-live-mashups.html' title='Windows Live Mashups'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6Bf3V-RKSMI/SDMXuzvS4sI/AAAAAAAAFDM/Ty_lwGi7e84/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7451380911926852527</id><published>2008-05-19T16:18:00.000-07:00</published><updated>2008-05-19T16:28:02.373-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mashing'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><title type='text'>Website Mashing: Preliminary Investigation</title><summary type='text'>I've long been fascinated with logically connecting together disparate sets of interconnected data on the Internet.  The basic term for doing this is "mashing" or creating a "mash-up".  To date most efforts in this regard have been to display various info on a map.  HousingMaps.com is perhaps the best known of such sites.  It scans Craigslist for rental ads and then overlays these ads onto a </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7451380911926852527/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/website-mashing-preliminary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7451380911926852527'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7451380911926852527'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/website-mashing-preliminary.html' title='Website Mashing: Preliminary Investigation'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-3086155091124973911</id><published>2008-05-18T14:33:00.000-07:00</published><updated>2008-05-18T15:50:25.975-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Caching'/><title type='text'>Caching Revisited</title><summary type='text'>In my last posting I outlined how I used AJAX Page Methods during the page unload event to explicitly clear the cache objects I had been using.  I was very pleased with this accomplishment, for it achieved an important improvement for the app, but also marked a milestone in my learning curve of building more sophisticated web apps.I did some more reading today though and came across this detailed</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/3086155091124973911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/caching-revisited.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3086155091124973911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/3086155091124973911'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/caching-revisited.html' title='Caching Revisited'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2089165482319046263</id><published>2008-05-17T17:34:00.000-07:00</published><updated>2008-05-17T18:08:02.006-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Page Methods'/><category scheme='http://www.blogger.com/atom/ns#' term='Caching'/><title type='text'>Using AJAX Page Methods to Clear Cache Objects Upon Page Unload</title><summary type='text'>I'm nearing the end of my work on this web page editor:To eliminate repetitive calls to the SQL Server database, I cached a number of data tables including one that is currently over 4,500 records in size.  I've read that the ASP.Net Cache apparently does its own housekeeping, removing objects when it needs more space but I thought it good programming practice to explicitly clear all of the </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2089165482319046263/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/using-ajax-page-methods-to-clear-cache.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2089165482319046263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2089165482319046263'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/using-ajax-page-methods-to-clear-cache.html' title='Using AJAX Page Methods to Clear Cache Objects Upon Page Unload'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SC967DvS4XI/AAAAAAAAFAk/5RcHF3N2ZlM/s72-c/Image1.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6035126286599865630</id><published>2008-05-17T17:23:00.000-07:00</published><updated>2008-05-17T17:34:35.592-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>Correctly Wiring In a JavaScript Function</title><summary type='text'>I frequently find the unstructured nature of JavaScript to be endlessly frustrating.  In some cases you can use several different syntax implementations to do the same thing.  Whereas in other cases you have to be deadly accurate.Here's an example of the latter.  I wrote a simple function that starts the process to clear the cache upon a page's unload.  What's wrong with this syntax:    function </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6035126286599865630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/correctly-wiring-in-javascript-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6035126286599865630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6035126286599865630'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/correctly-wiring-in-javascript-function.html' title='Correctly Wiring In a JavaScript Function'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7013532280418517143</id><published>2008-05-11T21:20:00.000-07:00</published><updated>2008-05-11T21:30:20.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><title type='text'>In Search of the Perfect 3-Column CSS Layout</title><summary type='text'>As any web developer knows, trying to devise a web page layout that has multiple side-by-side columns is not a trivial matter.  And then just when you think you've found something that works, it seems to fail when you test it in another browser!I've done a lot of research on the subject and have come up with something that works pretty good.  It's not perfect but it works very well in both IE7 </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7013532280418517143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/in-search-of-perfect-3-column-css.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7013532280418517143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7013532280418517143'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/in-search-of-perfect-3-column-css.html' title='In Search of the Perfect 3-Column CSS Layout'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/SCfHKTvS4TI/AAAAAAAAFAE/xui4qIWyyDI/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-8031814459127400178</id><published>2008-05-07T23:48:00.001-07:00</published><updated>2008-05-07T23:54:11.229-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='clarity'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='Twine'/><category scheme='http://www.blogger.com/atom/ns#' term='communication'/><category scheme='http://www.blogger.com/atom/ns#' term='search engine'/><title type='text'>Web 3.0 Explained ... Simply!</title><summary type='text'>Several years ago I attended a presentation by another software company and the presenter used an acronym that I wasn't entirely familiar with.  So I asked him what it meant.  He actually didn't know.Such is my suspicion when people start using esoteric words to describe a concept.  About a month ago I received an invitation to the Beta version of what is supposed to be the premier attempt at a </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/8031814459127400178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/web-30-explained-simply.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8031814459127400178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/8031814459127400178'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/web-30-explained-simply.html' title='Web 3.0 Explained ... Simply!'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4417829137024261352</id><published>2008-05-05T13:22:00.000-07:00</published><updated>2008-05-05T14:06:24.541-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='UpdateProgress'/><title type='text'>Manually Wiring Up the AJAX UpdateProgress Control</title><summary type='text'>A common feature of AJAX-enabled pages is to have an animated "Please Wait" image appear while the partial page update is occurring.  With ASP.Net this is implemented very easily.  Here's an example:&lt;asp:updateprogress id="UpdateProgress1" runat="server" visible="true" associatedupdatepanelid="UpdatePanel1"&gt;&lt;/asp:updateprogress&gt;&lt;/span&gt;&lt;span &gt;      &lt;progresstemplate&gt;&lt;/progresstemplate&gt;&lt;/span&gt;&lt;span</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4417829137024261352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/manually-wiring-up-ajax-updateprogress.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4417829137024261352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4417829137024261352'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/manually-wiring-up-ajax-updateprogress.html' title='Manually Wiring Up the AJAX UpdateProgress Control'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SB9yVON-_9I/AAAAAAAAE1E/ozykdhVo6Nc/s72-c/indicator_big.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2988313110023972606</id><published>2008-05-01T16:12:00.000-07:00</published><updated>2008-05-01T16:43:53.439-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='beforeunload'/><category scheme='http://www.blogger.com/atom/ns#' term='draggable panel'/><title type='text'>Warning the User About Prematurely Leaving a Web Page - Update</title><summary type='text'>My earlier posting illustrated how one can easily trap the beforeunload event and decide whether to display a message to the user that exiting the page without first saving the data will result in all unsaved work being lost.But then I discovered that it was not working properly on my web page.  Whenever any of the command buttons - Add, Delete, Move, and Save - were pressed, beforeunload was </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2988313110023972606/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/05/warning-user-about-prematurely-leaving.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2988313110023972606'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2988313110023972606'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/05/warning-user-about-prematurely-leaving.html' title='Warning the User About Prematurely Leaving a Web Page - Update'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6Bf3V-RKSMI/SBpQGuN-_yI/AAAAAAAAEzs/i5CJWDlu4qE/s72-c/Image1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6974639460400112655</id><published>2008-04-29T23:11:00.000-07:00</published><updated>2008-04-29T23:15:34.520-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogging'/><category scheme='http://www.blogger.com/atom/ns#' term='HTML'/><title type='text'>Posting HTML Code in a Blog</title><summary type='text'>If you've ever tried posting in a blog then you know that it doesn't work very well.  This is because the browser gets confused and tries to interpret the code rather than display it literally.A simple tool to correct the problem can be found here.  It's not perfect in that indentation is lost but other than that it's quite effective.</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6974639460400112655/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/posting-html-code-in-blog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6974639460400112655'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6974639460400112655'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/posting-html-code-in-blog.html' title='Posting HTML Code in a Blog'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4995347297132391118</id><published>2008-04-29T22:33:00.000-07:00</published><updated>2008-04-29T23:10:01.745-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><title type='text'>JavaScript Background Image Swapper</title><summary type='text'>I'm working on a project that involves displaying a world map on one page.  I thought it would be neat to display a nighttime map when the user's local time was between 6pm to 6am.  I first tried doing this with server-side C# code but it never really worked correctly so I revisited the problem and instead did the whole thing very simply with JavaScript.Here's the ASP.Net control I was looking to</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4995347297132391118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/javascript-background-image-swapper.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4995347297132391118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4995347297132391118'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/javascript-background-image-swapper.html' title='JavaScript Background Image Swapper'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SBgMx-N-_nI/AAAAAAAAEyU/wx35xiueHaQ/s72-c/1.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2938901820606556987</id><published>2008-04-28T21:49:00.000-07:00</published><updated>2008-04-28T22:47:34.819-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>Warning the User About Prematurely Leaving a Web Page</title><summary type='text'>I'm relatively new to website development.  Up until now I've never had occasion to warn the user about leaving a web page.  I knew it was possible though, as I'd seen it on some websites before.I'm now working on a data editor that looks like this:Essentially, the user can pick one of several bottom-level nodes in the treeview on the left and then the data associated with it will be displayed in</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2938901820606556987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/warning-user-about-prematurely-leaving.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2938901820606556987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2938901820606556987'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/warning-user-about-prematurely-leaving.html' title='Warning the User About Prematurely Leaving a Web Page'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6Bf3V-RKSMI/SBap1ON-_kI/AAAAAAAAEx8/de93Zw2G7z0/s72-c/Image1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4825395789867800828</id><published>2008-04-27T13:38:00.000-07:00</published><updated>2008-04-27T14:39:13.392-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='modal popup'/><category scheme='http://www.blogger.com/atom/ns#' term='StreamWriter'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><category scheme='http://www.blogger.com/atom/ns#' term='Web.config'/><category scheme='http://www.blogger.com/atom/ns#' term='GoDaddy'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Modal Popup Extender, StreamWriter</title><summary type='text'>I've made a small, but useful enhancement to the Waikiki condo rental site I built.  The owners of the condo have reservations well in advance so only need to find new people a few times a year.  As such, they don't want people constantly writing them, saying such things as, "Hey, can I rent it next week?"  This is a waste of time for the writer and for the condo owners.One way to solve this </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4825395789867800828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/modal-popup-extender-streamwriter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4825395789867800828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4825395789867800828'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/modal-popup-extender-streamwriter.html' title='Modal Popup Extender, StreamWriter'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6Bf3V-RKSMI/SBTmJ-N-_hI/AAAAAAAAExk/Zh1aao7rhIA/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-6170800614790626198</id><published>2008-04-25T16:43:00.000-07:00</published><updated>2008-04-25T17:07:31.347-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='travel'/><category scheme='http://www.blogger.com/atom/ns#' term='website'/><category scheme='http://www.blogger.com/atom/ns#' term='mapping'/><category scheme='http://www.blogger.com/atom/ns#' term='graphics'/><title type='text'>An Example of an ASP.Net Website</title><summary type='text'>Earlier this year I was fortunate enough to find a privately owned suite to stay in during my stay in Waikiki.  The owners, Irene &amp; Wes, are incredibly nice people and I promised to build them a website to better advertise their suite.  It's now done and live.I must confess that I went well beyond what I had originally intended to do but I'm very pleased with the end result.On the technical front</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/6170800614790626198/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/example-of-aspnet-website.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6170800614790626198'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/6170800614790626198'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/example-of-aspnet-website.html' title='An Example of an ASP.Net Website'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_6Bf3V-RKSMI/SBJrS-N-_cI/AAAAAAAAExA/1VPfXG2srsA/s72-c/Capture.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-4733651610491498917</id><published>2008-04-21T14:24:00.000-07:00</published><updated>2008-04-21T14:32:35.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='software development'/><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>"Does not exist in the current context"</title><summary type='text'>The fun &amp; games with Visual Studio continue!  I generally love the package but sometimes it frustrates me to no end.So there I was testing a simple web page, adjusting this &amp; that.  Suddenly, when I tried to recompile it I got this message:labelTagLine does not exist in the current contextThis control resides in the header on the Master Page of my project.  There's nothing fancy or special about </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/4733651610491498917/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/does-not-exist-in-current-context.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4733651610491498917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/4733651610491498917'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/does-not-exist-in-current-context.html' title='&quot;Does not exist in the current context&quot;'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-161286708328023932</id><published>2008-04-21T11:52:00.001-07:00</published><updated>2008-04-21T11:53:31.753-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='software'/><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Melodyne: Sophisticated Music Editing Software</title><summary type='text'>I have zero musical talent but find this an extremely cool piece of software:You can find out more about Melodyne here.</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/161286708328023932/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/melodyne-sophisticated-music-editing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/161286708328023932'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/161286708328023932'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/melodyne-sophisticated-music-editing.html' title='Melodyne: Sophisticated Music Editing Software'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-7999241787805846902</id><published>2008-04-21T00:25:00.000-07:00</published><updated>2008-04-21T00:52:48.525-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Vista'/><category scheme='http://www.blogger.com/atom/ns#' term='64 bit'/><category scheme='http://www.blogger.com/atom/ns#' term='debugging'/><category scheme='http://www.blogger.com/atom/ns#' term='patch'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Debugging with Visual Studio 2005 in Windows Vista</title><summary type='text'>What a Microsoft level headache I encountered this evening.  That's my code for, "it should work but it doesn't because of something Microsoft didn't take care of properly".I wanted to do something similar: Debug a simple ASP.net 2.0 web page in Visual Studio 2005, running on my Windows Vista Ultimate 64-bit machine.  I added a Debug.WriteLine statement in the Page_Load event handler of </summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/7999241787805846902/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/debugging-with-visual-studio-2005-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7999241787805846902'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/7999241787805846902'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/debugging-with-visual-studio-2005-in.html' title='Debugging with Visual Studio 2005 in Windows Vista'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7828102367315047331.post-2574690755313710988</id><published>2008-04-20T19:24:00.000-07:00</published><updated>2008-04-20T19:28:31.995-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Semantic Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 3.0'/><category scheme='http://www.blogger.com/atom/ns#' term='artificial intelligence'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>The Semantic Web</title><summary type='text'>I've been reading about the future of the Internet, which is being promoted under the moniker of "Web 3.0" or "The Semantic Web".  We're no where near there yet and some say we'll never achieve it but it's an interesting subject to discuss.Here's a primer and here's a more detailed article.</summary><link rel='replies' type='application/atom+xml' href='http://mwtech.blogspot.com/feeds/2574690755313710988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://mwtech.blogspot.com/2008/04/semantic-web.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2574690755313710988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7828102367315047331/posts/default/2574690755313710988'/><link rel='alternate' type='text/html' href='http://mwtech.blogspot.com/2008/04/semantic-web.html' title='The Semantic Web'/><author><name>Robert W.</name><uri>http://www.blogger.com/profile/11450265399740128136</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='23' src='http://4.bp.blogspot.com/-yxOetygaKcY/TZEao-JV1HI/AAAAAAAAR6w/yk-c4FJdkao/s220/190022_10150110118401370_544411369_6796286_5904488_n.jpg'/></author><thr:total>0</thr:total></entry></feed>
