<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>The Moon Upstairs</title>
    <link>http://www.fredwebs.com/Blog/</link>
    <description>and other issues programming .Net</description>
    <language>en-us</language>
    <copyright>Fred Peters</copyright>
    <lastBuildDate>Fri, 09 May 2008 20:23:00 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.9.6264.0</generator>
    <managingEditor>fred@fredwebs.com</managingEditor>
    <webMaster>fred@fredwebs.com</webMaster>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=ddf310d2-3b15-44e9-9c5a-c54dfbb6797b</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,ddf310d2-3b15-44e9-9c5a-c54dfbb6797b.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,ddf310d2-3b15-44e9-9c5a-c54dfbb6797b.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ddf310d2-3b15-44e9-9c5a-c54dfbb6797b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On Saturday, March 29, I attended the Atlanta Code Camp.  Last year I skipped
around to get an overview of a lot of different areas.  This year I decided to
concentrate on one of the eight offered tracks, Silverlight.  I wanted a deeper
knowledge of one subject, and I haven't got around to reading the Silverlight 1.0
book I bought a few months ago. 
</p>
        <p>
  
</p>
        <p>
The following is a summary of my notes from the sessions.  Any errors are probably
mine during transcription.  Some parts will be fragmented and maybe only make
sense to me. 
<br /><br /><table cellspacing="0" cellpadding="2" border="0"><tbody><tr><td valign="top" colspan="2">
 <strong>1. Introducing Silverlight 2.0</strong></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Corey Schuman - <a href="http://simplesilverlight.wordpress.com">http://simplesilverlight.wordpress.com</a></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
What’s new in Silverlight 2.0: Controls, uses of Silverlight, animations, connection
to data sources.</td></tr><tr><td valign="top" width="10">
 </td><td valign="top"><p>
Version 2.0 can consume web services, and importantly <strong>ALL</strong> calls are
asynchronous.
</p><p>
The XAP file is like the Flash SWF file, it is a zip file of all the DLL's.
</p><p>
In IIS must have XAP registered as a MIME type.
</p><p>
The BCL is the Base Class Library.  The isolated store will hold up to 1 MB,
and you can ask the end user for more up to 10 MB.
</p><p>
The Silverlight List Box can be used as a Control Container.  For beginners,
Corey suggested the introductory series by Scott Guthrie which can be found <a href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx">here</a>.  
</p></td></tr><tr><td colspan="2">
 </td></tr><tr><td valign="top" colspan="2"><strong>2. Using Blend 2.0 for Silverlight / Consuming Data with Silverlight 2.0</strong></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Shawn Wildermuth- <a href="http://adoguy.com">http://adoguy.com</a></td></tr><tr><td valign="top" width="10">
 </td><td valign="top"><p>
An overview of Expression Blend 2.5 for Silverlight developers was given by Shawn. 
The current beta release has several bugs, it will crash on you.  One nice thing
is that Visual Studio 2008 and Blend use the same solution file.
</p><p>
Shawn continued with an overview of consuming data with Silverlight.  
</p><p>
There is no ADO in Silverlight, but there is full support for LINQ to Objects and
LINQ to XML.  Beware that LINQ projections have a bug.
</p><p>
The XDocument and the XMLDocument classes are available.  XMLDocument has a smaller
footprint, but does not support XPath.  You can use XMLReader but it is difficult
to work with.  Shaped results should be changed to simple types.
</p><p>
Silverlight tries to restrict you to calling a web service in the current domain only. 
To complicate things, the client configuration is not read in the 2.0 Beta.
</p><p>
As stated in the first session, the asynchronous is used with Binding, EndPoint, and
Proxy Classes.  If you are using the Visual Studio developer, a fixed port number
is useful, as are observable collections.  The state service SOAP client uses
a Sync call and completed Events.  When using WCF, you have a lot more configuration
items to set.  The query-able end points should develop shape data themselves.
</p><p>
ADO.Net Data Services, AKA Astoria, exposes data over HTTP(S) using URI syntax and
a REST interface.  The LINQ support hides REST, it is not available now but there
is a Silverlight 2 library in the works.  The REST functions Get, Post, Put,
and Delete do match the primary database CRUD functions.
</p><p>
For security cross domain calls  require permission.  The policy file "accesspolicy.xml"
must be in the root of the server.  Usually this is an all or nothing situation,
but you can use existing policies to allow and grant.
</p><p>
Only TCP sockets are allowed and are based on the platform (i.e. Winsock).  You
can only connect to the local machine by "localhost".  The Beta 1 has only socket
testing only, and on a small port range.
</p><p>
In the final session Shawn gave a brief overview of the DeepZoom composer and how
to use a DeepZoom image in your Silverlight 2 application. 
</p></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Desc</td></tr><tr><td colspan="2">
 </td></tr><tr><td valign="top" colspan="2">
3<strong>. Real World Silverlight Tips and Tricks</strong></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Steve Porter and Keith Rome - <a href="http://www.wintellect.com/cs/blogs/sporter">http://www.wintellect.com/cs/blogs/sporter</a>, <a href="http://www.mindfusioncorp.com/weblog">http://www.mindfusioncorp.com/weblog</a></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Various Silverlight 1.0 and 2.0 tips and tricks that have been used on real projects. 
</td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Steve and Keith presented several interesting items in their presentation, among them
was the technique of using a storyboard as a timer.  The source code for these
may be found at the authors weblogs.  
</td></tr><tr><td colspan="2">
 </td></tr></tbody></table></p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=ddf310d2-3b15-44e9-9c5a-c54dfbb6797b" />
      </body>
      <title>Silverlight Session Notes from the Atlanta Code Camp 2008</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,ddf310d2-3b15-44e9-9c5a-c54dfbb6797b.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,ddf310d2-3b15-44e9-9c5a-c54dfbb6797b.aspx</link>
      <pubDate>Fri, 09 May 2008 20:23:00 GMT</pubDate>
      <description>&lt;p&gt;
On Saturday, March 29, I attended the Atlanta Code Camp.&amp;nbsp; Last year I skipped
around to get an overview of a lot of different areas.&amp;nbsp; This year I decided to
concentrate on one of the eight offered tracks, Silverlight.&amp;nbsp; I wanted a deeper
knowledge of one subject, and I haven't got around to reading the Silverlight 1.0
book I bought a few months ago. 
&lt;p&gt;
&amp;nbsp; 
&lt;p&gt;
The following is a summary of my notes from the sessions.&amp;nbsp; Any errors are probably
mine during transcription.&amp;nbsp; Some parts will be fragmented and maybe only make
sense to me. 
&lt;br&gt;
&lt;br&gt;
&lt;table cellspacing="0" cellpadding="2" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" colspan="2"&gt;
&amp;nbsp;&lt;strong&gt;1. Introducing Silverlight 2.0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Corey Schuman - &lt;a href="http://simplesilverlight.wordpress.com"&gt;http://simplesilverlight.wordpress.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
What’s new in Silverlight 2.0: Controls, uses of Silverlight, animations, connection
to data sources.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
Version 2.0 can consume web services, and importantly &lt;strong&gt;ALL&lt;/strong&gt; calls are
asynchronous.
&lt;/p&gt;
&lt;p&gt;
The XAP file is like the Flash SWF file, it is a zip file of all the DLL's.
&lt;/p&gt;
&lt;p&gt;
In IIS must have XAP registered as a MIME type.
&lt;/p&gt;
&lt;p&gt;
The BCL is the Base Class Library.&amp;nbsp; The isolated store will hold up to 1 MB,
and you can ask the end user for more up to 10 MB.
&lt;/p&gt;
&lt;p&gt;
The Silverlight List Box can be used as a Control Container.&amp;nbsp; For beginners,
Corey suggested the introductory series by Scott Guthrie which can be found &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx"&gt;here&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" colspan="2"&gt;
&lt;strong&gt;2. Using Blend 2.0 for Silverlight / Consuming Data with Silverlight 2.0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Shawn Wildermuth- &lt;a href="http://adoguy.com"&gt;http://adoguy.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
An overview of Expression Blend 2.5 for Silverlight developers was given by Shawn.&amp;nbsp;
The current beta release has several bugs, it will crash on you.&amp;nbsp; One nice thing
is that Visual Studio 2008 and Blend use the same solution file.
&lt;/p&gt;
&lt;p&gt;
Shawn continued with an overview of consuming data with Silverlight.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
There is no ADO in Silverlight, but there is full support for LINQ to Objects and
LINQ to XML.&amp;nbsp; Beware that LINQ projections have a bug.
&lt;/p&gt;
&lt;p&gt;
The XDocument and the XMLDocument classes are available.&amp;nbsp; XMLDocument has a smaller
footprint, but does not support XPath.&amp;nbsp; You can use XMLReader but it is difficult
to work with.&amp;nbsp; Shaped results should be changed to simple types.
&lt;/p&gt;
&lt;p&gt;
Silverlight tries to restrict you to calling a web service in the current domain only.&amp;nbsp;
To complicate things, the client configuration is not read in the 2.0 Beta.
&lt;/p&gt;
&lt;p&gt;
As stated in the first session, the asynchronous is used with Binding, EndPoint, and
Proxy Classes.&amp;nbsp; If you are using the Visual Studio developer, a fixed port number
is useful, as are observable collections.&amp;nbsp; The state service SOAP client uses
a Sync call and completed Events.&amp;nbsp; When using WCF, you have a lot more configuration
items to set.&amp;nbsp; The query-able end points should develop shape data themselves.
&lt;/p&gt;
&lt;p&gt;
ADO.Net Data Services, AKA Astoria, exposes data over HTTP(S) using URI syntax and
a REST interface.&amp;nbsp; The LINQ support hides REST, it is not available now but there
is a Silverlight 2 library in the works.&amp;nbsp; The REST functions Get, Post, Put,
and Delete do match the primary database CRUD functions.
&lt;/p&gt;
&lt;p&gt;
For security cross domain calls&amp;nbsp; require permission.&amp;nbsp; The policy file "accesspolicy.xml"
must be in the root of the server.&amp;nbsp; Usually this is an all or nothing situation,
but you can use existing policies to allow and grant.
&lt;/p&gt;
&lt;p&gt;
Only TCP sockets are allowed and are based on the platform (i.e. Winsock).&amp;nbsp; You
can only connect to the local machine by "localhost".&amp;nbsp; The Beta 1 has only socket
testing only, and on a small port range.
&lt;/p&gt;
&lt;p&gt;
In the final session Shawn gave a brief overview of the DeepZoom composer and how
to use a DeepZoom image in your Silverlight 2 application. 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Desc&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" colspan="2"&gt;
3&lt;strong&gt;. Real World Silverlight Tips and Tricks&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Steve Porter and Keith Rome - &lt;a href="http://www.wintellect.com/cs/blogs/sporter"&gt;http://www.wintellect.com/cs/blogs/sporter&lt;/a&gt;, &lt;a href="http://www.mindfusioncorp.com/weblog"&gt;http://www.mindfusioncorp.com/weblog&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Various Silverlight 1.0 and 2.0 tips and tricks that have been used on real projects. 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Steve and Keith presented several interesting items in their presentation, among them
was the technique of using a storyboard as a timer.&amp;nbsp; The source code for these
may be found at the authors weblogs.&amp;nbsp; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=ddf310d2-3b15-44e9-9c5a-c54dfbb6797b" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,ddf310d2-3b15-44e9-9c5a-c54dfbb6797b.aspx</comments>
      <category>ASP.Net;Silverlight;Web Services</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=e382385d-011b-467e-83ad-e93195bf51e3</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,e382385d-011b-467e-83ad-e93195bf51e3.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,e382385d-011b-467e-83ad-e93195bf51e3.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e382385d-011b-467e-83ad-e93195bf51e3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We have recently migrated all of our workstations to a different Windows domain at
our office.  Some folks were getting the following error when trying to open
a DataSet in Visual Studio 2005: 
</p>
        <p>
        </p>
        <p>
          <font color="#0000ff">Key not valid for use in specified state</font>
        </p>
        <p>
The problem is caused because of the change of your username from the old domain to
the new domain. This causes Visual Studio to not be able to properly decrypt some
its settings. 
</p>
        <p>
The fix is to rename/delete the following file: 
</p>
        <p>
          <font color="#0000ff">C:\Documents and Settings\YOUR USERNAME\Application Data\Microsoft\VisualStudio\8.0\ServerExplorer\DefaultView.SEView</font>
        </p>
        <p>
You will now have to add back all your databases to the Server Explorer toolbox (but
you only have to add them at a later time as you need them). 
</p>
        <p>
        </p>
        <p>
Thanks to Robert Stam for this tip.
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=e382385d-011b-467e-83ad-e93195bf51e3" />
      </body>
      <title>Visual Studio 2005: Key not valid for use in specified state</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,e382385d-011b-467e-83ad-e93195bf51e3.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,e382385d-011b-467e-83ad-e93195bf51e3.aspx</link>
      <pubDate>Fri, 09 May 2008 20:21:25 GMT</pubDate>
      <description>&lt;p&gt;
We have recently migrated all of our workstations to a different Windows domain at
our office.&amp;nbsp; Some folks were getting the following error when trying to open
a DataSet in Visual Studio 2005: 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff"&gt;Key not valid for use in specified state&lt;/font&gt; 
&lt;/p&gt;
&lt;p&gt;
The problem is caused because of the change of your username from the old domain to
the new domain. This causes Visual Studio to not be able to properly decrypt some
its settings. 
&lt;/p&gt;
&lt;p&gt;
The fix is to rename/delete the following file: 
&lt;/p&gt;
&lt;p&gt;
&lt;font color="#0000ff"&gt;C:\Documents and Settings\YOUR USERNAME\Application Data\Microsoft\VisualStudio\8.0\ServerExplorer\DefaultView.SEView&lt;/font&gt; 
&lt;/p&gt;
&lt;p&gt;
You will now have to add back all your databases to the Server Explorer toolbox (but
you only have to add them at a later time as you need them). 
&lt;/p&gt;
&lt;p&gt;
&lt;/p&gt;
&lt;p&gt;
Thanks to Robert Stam for this tip.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=e382385d-011b-467e-83ad-e93195bf51e3" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,e382385d-011b-467e-83ad-e93195bf51e3.aspx</comments>
      <category>Dot Net;VS2005</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=8299068b-9726-4f26-915c-2cead665a789</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,8299068b-9726-4f26-915c-2cead665a789.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,8299068b-9726-4f26-915c-2cead665a789.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=8299068b-9726-4f26-915c-2cead665a789</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
You may get an install error when installing the Visual Studio 2005 extensions for
.NET Framework 3.0 (WCF &amp; WPF), November 2006 CTP: 
</p>
        <p>
"Setup has detected that a prerequisite is missing.  To use Visual Studio 2005
extensions for .NET Framework 3.0 (WCF &amp; WPF), November 2006 CTP you must have
the .NET Framework 3.0 runtime installed.  Please install the .NET Framework
3.0 runtime and restart setup." 
</p>
        <p>
This happens if you have .Net 3.0 Service pack 1 already installed.  One workaround
is to add the following to your machine’s registry: 
</p>
        <p>
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{15095BF3-A3D7-4DDF-B193-3A496881E003}] 
</p>
        <p>
“DisplayName"="Microsoft .NET Framework 3.0" 
</p>
        <p>
When you run the installer again it might complain (twice) about the MSDN documentation
not being present, but just continue and the install should complete. 
</p>
        <p>
Robert Stam also came up with this workaround: 
</p>
        <p>
msiexec /i vsextwfx.msi WRC_INSTALLED_OVERRIDE=1 
</p>
        <p>
It requires you to open a Command window and navigate to the directory where vsextwfx.msi
is located, but has the advantage of not requiring you to edit the registry. 
</p>
        <p>
Note that this CTP version will not be replaced by another release, you are expected
to move on to Visual Studio 2008.
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=8299068b-9726-4f26-915c-2cead665a789" />
      </body>
      <title>Install Problems with .NET 3.0 and Related Add-ins</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,8299068b-9726-4f26-915c-2cead665a789.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,8299068b-9726-4f26-915c-2cead665a789.aspx</link>
      <pubDate>Fri, 09 May 2008 20:16:08 GMT</pubDate>
      <description>&lt;p&gt;
You may get an install error when installing the Visual Studio 2005 extensions for
.NET Framework 3.0 (WCF &amp;amp; WPF), November 2006 CTP: 
&lt;/p&gt;
&lt;p&gt;
"Setup has detected that a prerequisite is missing.&amp;nbsp; To use Visual Studio 2005
extensions for .NET Framework 3.0 (WCF &amp;amp; WPF), November 2006 CTP you must have
the .NET Framework 3.0 runtime installed.&amp;nbsp; Please install the .NET Framework
3.0 runtime and restart setup." 
&lt;/p&gt;
&lt;p&gt;
This happens if you have .Net 3.0 Service pack 1 already installed.&amp;nbsp; One workaround
is to add the following to your machine’s registry: 
&lt;/p&gt;
&lt;p&gt;
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{15095BF3-A3D7-4DDF-B193-3A496881E003}] 
&lt;/p&gt;
&lt;p&gt;
“DisplayName"="Microsoft .NET Framework 3.0" 
&lt;/p&gt;
&lt;p&gt;
When you run the installer again it might complain (twice) about the MSDN documentation
not being present, but just continue and the install should complete. 
&lt;/p&gt;
&lt;p&gt;
Robert Stam also came up with this workaround: 
&lt;/p&gt;
&lt;p&gt;
msiexec /i vsextwfx.msi WRC_INSTALLED_OVERRIDE=1 
&lt;/p&gt;
&lt;p&gt;
It requires you to open a Command window and navigate to the directory where vsextwfx.msi
is located, but has the advantage of not requiring you to edit the registry. 
&lt;/p&gt;
&lt;p&gt;
Note that this CTP version will not be replaced by another release, you are expected
to move on to Visual Studio 2008.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=8299068b-9726-4f26-915c-2cead665a789" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,8299068b-9726-4f26-915c-2cead665a789.aspx</comments>
      <category>Dot Net;Installs</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=e5f99624-06db-4466-9c0f-d0acab4f3a1b</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,e5f99624-06db-4466-9c0f-d0acab4f3a1b.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,e5f99624-06db-4466-9c0f-d0acab4f3a1b.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e5f99624-06db-4466-9c0f-d0acab4f3a1b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
On Saturday, March 29, I attended the Atlanta Code Camp.  Last year I skipped
around to get an overview of a lot of different areas.  This year I decided to
concentrate on one of the eight offered tracks, Silverlight.  I wanted a deeper
knowledge of one subject, and I haven't got around to reading the Silverlight 1.0
book I bought a few months ago. 
</p>
        <p>
The following is a summary of my notes from the sessions.  Any errors are probably
mine during transcription.  Some parts will be fragmented and maybe only make
sense to me. 
<br /><br /><table cellspacing="0" cellpadding="2" border="0"><tbody><tr><td valign="top" colspan="2">
 <strong>1. Introducing Silverlight 2.0</strong></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Corey Schuman - <a href="http://simplesilverlight.wordpress.com">http://simplesilverlight.wordpress.com</a></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
What’s new in Silverlight 2.0: Controls, uses of Silverlight, animations, connection
to data sources.</td></tr><tr><td valign="top" width="10">
 </td><td valign="top"><p>
Version 2.0 can consume web services, and importantly <strong>ALL</strong> calls are
asynchronous.
</p><p>
The XAP file is like the Flash SWF file, it is a zip file of all the DLL's.
</p><p>
In IIS must have XAP registered as a MIME type.
</p><p>
The BCL is the Base Class Library.  The isolated store will hold up to 1 MB,
and you can ask the end user for more up to 10 MB.
</p><p>
The Silverlight List Box can be used as a Control Container.  For beginners,
Corey suggested the introductory series by Scott Guthrie which can be found <a href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx">here</a>.  
</p></td></tr><tr><td colspan="2">
 </td></tr><tr><td valign="top" colspan="2"><strong>2. Using Blend 2.0 for Silverlight / Consuming Data with Silverlight 2.0</strong></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Shawn Wildermuth- <a href="http://adoguy.com">http://adoguy.com</a></td></tr><tr><td valign="top" width="10">
 </td><td valign="top"><p>
An overview of Expression Blend 2.5 for Silverlight developers was given by Shawn. 
The current beta release has several bugs, it will crash on you.  One nice thing
is that Visual Studio 2008 and Blend use the same solution file.
</p><p>
Shawn continued with an overview of consuming data with Silverlight.  
</p><p>
There is no ADO in Silverlight, but there is full support for LINQ to Objects and
LINQ to XML.  Beware that LINQ projections have a bug.
</p><p>
The XDocument and the XMLDocument classes are available.  XMLDocument has a smaller
footprint, but does not support XPath.  You can use XMLReader but it is difficult
to work with.  Shaped results should be changed to simple types.
</p><p>
Silverlight tries to restrict you to calling a web service in the current domain only. 
To complicate things, the client configuration is not read in the 2.0 Beta.
</p><p>
As stated in the first session, the asynchronous is used with Binding, EndPoint, and
Proxy Classes.  If you are using the Visual Studio developer, a fixed port number
is useful, as are observable collections.  The state service SOAP client uses
a Sync call and completed Events.  When using WCF, you have a lot more configuration
items to set.  The query-able end points should develop shape data themselves.
</p><p>
ADO.Net Data Services, AKA Astoria, exposes data over HTTP(S) using URI syntax and
a REST interface.  The LINQ support hides REST, it is not available now but there
is a Silverlight 2 library in the works.  The REST functions Get, Post, Put,
and Delete do match the primary database CRUD functions.
</p><p>
For security cross domain calls  require permission.  The policy file "accesspolicy.xml"
must be in the root of the server.  Usually this is an all or nothing situation,
but you can use existing policies to allow and grant.
</p><p>
Only TCP sockets are allowed and are based on the platform (i.e. Winsock).  You
can only connect to the local machine by "localhost".  The Beta 1 has only socket
testing only, and on a small port range.
</p><p>
In the final session Shawn gave a brief overview of the DeepZoom composer and how
to use a DeepZoom image in your Silverlight 2 application. 
</p></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Desc</td></tr><tr><td colspan="2">
 </td></tr><tr><td valign="top" colspan="2">
3<strong>. Real World Silverlight Tips and Tricks</strong></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Steve Porter and Keith Rome - <a href="http://www.wintellect.com/cs/blogs/sporter">http://www.wintellect.com/cs/blogs/sporter</a>, <a href="http://www.mindfusioncorp.com/weblog">http://www.mindfusioncorp.com/weblog</a></td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Various Silverlight 1.0 and 2.0 tips and tricks that have been used on real projects. 
</td></tr><tr><td valign="top" width="10">
 </td><td valign="top">
Steve and Keith presented several interesting items in their presentation, among them
was the technique of using a storyboard as a timer.  The source code for these
may be found at the authors weblogs.  
</td></tr><tr><td colspan="2">
 </td></tr></tbody></table><img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=e5f99624-06db-4466-9c0f-d0acab4f3a1b" /></p>
      </body>
      <title>Silverlight Session Notes from the Atlanta Code Camp 2008</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,e5f99624-06db-4466-9c0f-d0acab4f3a1b.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,e5f99624-06db-4466-9c0f-d0acab4f3a1b.aspx</link>
      <pubDate>Fri, 18 Apr 2008 21:11:55 GMT</pubDate>
      <description>&lt;p&gt;
On Saturday, March 29, I attended the Atlanta Code Camp.&amp;nbsp; Last year I skipped
around to get an overview of a lot of different areas.&amp;nbsp; This year I decided to
concentrate on one of the eight offered tracks, Silverlight.&amp;nbsp; I wanted a deeper
knowledge of one subject, and I haven't got around to reading the Silverlight 1.0
book I bought a few months ago. 
&lt;p&gt;
The following is a summary of my notes from the sessions.&amp;nbsp; Any errors are probably
mine during transcription.&amp;nbsp; Some parts will be fragmented and maybe only make
sense to me. 
&lt;br&gt;
&lt;br&gt;
&lt;table cellspacing="0" cellpadding="2" border="0"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top" colspan="2"&gt;
&amp;nbsp;&lt;strong&gt;1. Introducing Silverlight 2.0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Corey Schuman - &lt;a href="http://simplesilverlight.wordpress.com"&gt;http://simplesilverlight.wordpress.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
What’s new in Silverlight 2.0: Controls, uses of Silverlight, animations, connection
to data sources.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
Version 2.0 can consume web services, and importantly &lt;strong&gt;ALL&lt;/strong&gt; calls are
asynchronous.
&lt;/p&gt;
&lt;p&gt;
The XAP file is like the Flash SWF file, it is a zip file of all the DLL's.
&lt;/p&gt;
&lt;p&gt;
In IIS must have XAP registered as a MIME type.
&lt;/p&gt;
&lt;p&gt;
The BCL is the Base Class Library.&amp;nbsp; The isolated store will hold up to 1 MB,
and you can ask the end user for more up to 10 MB.
&lt;/p&gt;
&lt;p&gt;
The Silverlight List Box can be used as a Control Container.&amp;nbsp; For beginners,
Corey suggested the introductory series by Scott Guthrie which can be found &lt;a href="http://weblogs.asp.net/scottgu/archive/2008/02/22/first-look-at-silverlight-2.aspx"&gt;here&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" colspan="2"&gt;
&lt;strong&gt;2. Using Blend 2.0 for Silverlight / Consuming Data with Silverlight 2.0&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Shawn Wildermuth- &lt;a href="http://adoguy.com"&gt;http://adoguy.com&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;
An overview of Expression Blend 2.5 for Silverlight developers was given by Shawn.&amp;nbsp;
The current beta release has several bugs, it will crash on you.&amp;nbsp; One nice thing
is that Visual Studio 2008 and Blend use the same solution file.
&lt;/p&gt;
&lt;p&gt;
Shawn continued with an overview of consuming data with Silverlight.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
There is no ADO in Silverlight, but there is full support for LINQ to Objects and
LINQ to XML.&amp;nbsp; Beware that LINQ projections have a bug.
&lt;/p&gt;
&lt;p&gt;
The XDocument and the XMLDocument classes are available.&amp;nbsp; XMLDocument has a smaller
footprint, but does not support XPath.&amp;nbsp; You can use XMLReader but it is difficult
to work with.&amp;nbsp; Shaped results should be changed to simple types.
&lt;/p&gt;
&lt;p&gt;
Silverlight tries to restrict you to calling a web service in the current domain only.&amp;nbsp;
To complicate things, the client configuration is not read in the 2.0 Beta.
&lt;/p&gt;
&lt;p&gt;
As stated in the first session, the asynchronous is used with Binding, EndPoint, and
Proxy Classes.&amp;nbsp; If you are using the Visual Studio developer, a fixed port number
is useful, as are observable collections.&amp;nbsp; The state service SOAP client uses
a Sync call and completed Events.&amp;nbsp; When using WCF, you have a lot more configuration
items to set.&amp;nbsp; The query-able end points should develop shape data themselves.
&lt;/p&gt;
&lt;p&gt;
ADO.Net Data Services, AKA Astoria, exposes data over HTTP(S) using URI syntax and
a REST interface.&amp;nbsp; The LINQ support hides REST, it is not available now but there
is a Silverlight 2 library in the works.&amp;nbsp; The REST functions Get, Post, Put,
and Delete do match the primary database CRUD functions.
&lt;/p&gt;
&lt;p&gt;
For security cross domain calls&amp;nbsp; require permission.&amp;nbsp; The policy file "accesspolicy.xml"
must be in the root of the server.&amp;nbsp; Usually this is an all or nothing situation,
but you can use existing policies to allow and grant.
&lt;/p&gt;
&lt;p&gt;
Only TCP sockets are allowed and are based on the platform (i.e. Winsock).&amp;nbsp; You
can only connect to the local machine by "localhost".&amp;nbsp; The Beta 1 has only socket
testing only, and on a small port range.
&lt;/p&gt;
&lt;p&gt;
In the final session Shawn gave a brief overview of the DeepZoom composer and how
to use a DeepZoom image in your Silverlight 2 application. 
&lt;/p&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Desc&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" colspan="2"&gt;
3&lt;strong&gt;. Real World Silverlight Tips and Tricks&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Steve Porter and Keith Rome - &lt;a href="http://www.wintellect.com/cs/blogs/sporter"&gt;http://www.wintellect.com/cs/blogs/sporter&lt;/a&gt;, &lt;a href="http://www.mindfusioncorp.com/weblog"&gt;http://www.mindfusioncorp.com/weblog&lt;/a&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Various Silverlight 1.0 and 2.0 tips and tricks that have been used on real projects. 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top" width="10"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;td valign="top"&gt;
Steve and Keith presented several interesting items in their presentation, among them
was the technique of using a storyboard as a timer.&amp;nbsp; The source code for these
may be found at the authors weblogs.&amp;nbsp; 
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td colspan="2"&gt;
&amp;nbsp;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=e5f99624-06db-4466-9c0f-d0acab4f3a1b" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,e5f99624-06db-4466-9c0f-d0acab4f3a1b.aspx</comments>
      <category>ASP.Net;Silverlight</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=4d163c0d-3b09-49e5-bf54-b09f6e81023d</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,4d163c0d-3b09-49e5-bf54-b09f6e81023d.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,4d163c0d-3b09-49e5-bf54-b09f6e81023d.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=4d163c0d-3b09-49e5-bf54-b09f6e81023d</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We recently upgraded our main application to the latest version of the Infragistics
controls.  Everything converted, compiled, and ran fine.  However, when
you tried to open some forms in the Visual Studio designer, you got the message "The
path is not of a legal form".  Looking at the project for these forms, they had
invalid references to custom controls that used Infragistics controls.  I deleted
the references and added the newly compiled versions to eliminate the designer rendering
error.
</p>
        <p>
Since we do not remove the previous version of Infragistics the older controls are
found at run time.  
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=4d163c0d-3b09-49e5-bf54-b09f6e81023d" />
      </body>
      <title>Winform Design Mode Rendering Error</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,4d163c0d-3b09-49e5-bf54-b09f6e81023d.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,4d163c0d-3b09-49e5-bf54-b09f6e81023d.aspx</link>
      <pubDate>Wed, 05 Dec 2007 20:25:28 GMT</pubDate>
      <description>&lt;p&gt;
We recently upgraded our main application to the latest version of the Infragistics
controls.&amp;nbsp; Everything converted, compiled, and ran fine.&amp;nbsp; However, when
you tried to open some forms in the Visual Studio designer, you got the message "The
path is not of a legal form".&amp;nbsp; Looking at the project for these forms, they had
invalid references to custom controls that used Infragistics controls.&amp;nbsp; I deleted
the references and added the newly compiled versions to eliminate the designer rendering
error.
&lt;/p&gt;
&lt;p&gt;
Since we do not remove the previous version of Infragistics the older controls are
found at run time.&amp;nbsp; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=4d163c0d-3b09-49e5-bf54-b09f6e81023d" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,4d163c0d-3b09-49e5-bf54-b09f6e81023d.aspx</comments>
      <category>Windows Controls</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=aad4b677-8d2f-49e4-8519-ecf979a943d1</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,aad4b677-8d2f-49e4-8519-ecf979a943d1.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,aad4b677-8d2f-49e4-8519-ecf979a943d1.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=aad4b677-8d2f-49e4-8519-ecf979a943d1</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We have recently migrated all of our workstations to a different Windows domain at
our office.  Some folks were getting the following error when trying to
open a DataSet in Visual Studio 2005: 
</p>
        <p>
Key not valid for use in specified state 
</p>
        <p>
The problem is caused because of the change of your username from the old domain
to the new domain. This causes Visual Studio to not be able to properly decrypt
some its settings. 
</p>
        <p>
The fix is to rename/delete the following file: 
</p>
        <p>
C:\Documents and Settings\YOUR USERNAME\Application Data\Microsoft\VisualStudio\8.0\ServerExplorer\DefaultView.SEView 
</p>
        <p>
You will now have to add back all your databases to the Server Explorer toolbox (but
you only have to add them at a later time as you need them). 
</p>
        <p>
Thanks to Robert Stam for this tip.
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=aad4b677-8d2f-49e4-8519-ecf979a943d1" />
      </body>
      <title>Visual Studio 2005: Key not valid for use in specified state</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,aad4b677-8d2f-49e4-8519-ecf979a943d1.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,aad4b677-8d2f-49e4-8519-ecf979a943d1.aspx</link>
      <pubDate>Fri, 12 Oct 2007 14:31:28 GMT</pubDate>
      <description>&lt;p&gt;
We have recently migrated all of our workstations to a different Windows domain at
our office.&amp;nbsp; Some folks were getting&amp;nbsp;the following error when trying to
open a DataSet in Visual Studio 2005: 
&lt;/p&gt;
&lt;p&gt;
Key not valid for use in specified state 
&lt;p&gt;
The problem is caused because of the change of your username from the&amp;nbsp;old domain
to the&amp;nbsp;new domain. This causes Visual Studio to not be able to properly decrypt
some its settings. 
&lt;p&gt;
The fix is to rename/delete the following file: 
&lt;p&gt;
C:\Documents and Settings\YOUR USERNAME\Application Data\Microsoft\VisualStudio\8.0\ServerExplorer\DefaultView.SEView 
&lt;p&gt;
You will now have to add back all your databases to the Server Explorer toolbox (but
you only have to add them at a later time as you need them). 
&lt;/p&gt;
&lt;p&gt;
Thanks to Robert Stam for this tip.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=aad4b677-8d2f-49e4-8519-ecf979a943d1" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,aad4b677-8d2f-49e4-8519-ecf979a943d1.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=e3cd6893-a15e-49e1-8d83-f8776faa2c8b</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,e3cd6893-a15e-49e1-8d83-f8776faa2c8b.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,e3cd6893-a15e-49e1-8d83-f8776faa2c8b.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=e3cd6893-a15e-49e1-8d83-f8776faa2c8b</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Recently we tried to build an older version of a system that is hosted on Windows
2003 server.  Every project in the build would fail with Visual Studio unable
to sign the DLL.  Of course the DLL was not there in the target folder, but that
was not the problem.  The build had worked before we rebuilt the server.
</p>
        <p>
A Google search produced a suggestion to change the file permissions on:
</p>
        <blockquote>
          <p>
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
</p>
        </blockquote>
        <p>
We gave Administrators full access to the folders and were able to compile.  
</p>
        <p>
Just a couple of days earlier, I had to give IIS_WPG access to this folder in order
for a web service to be able to read the keys and decrypt a WSE message.  The
service had worked fine after I had installed it and given access to the key file
using the WSE key utility.  
</p>
        <p>
I noticed a pending Windows update icon was no longer in the system tray.  It
appears that update had tightened security on that folder.
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=e3cd6893-a15e-49e1-8d83-f8776faa2c8b" />
      </body>
      <title>.NET Unable to Sign Assemblies or Read WSE Keys in Windows Server 2003</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,e3cd6893-a15e-49e1-8d83-f8776faa2c8b.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,e3cd6893-a15e-49e1-8d83-f8776faa2c8b.aspx</link>
      <pubDate>Fri, 10 Aug 2007 20:57:34 GMT</pubDate>
      <description>&lt;p&gt;
Recently we tried to build an older version of a system that is hosted on Windows
2003 server.&amp;nbsp; Every project in the build would fail with Visual Studio unable
to sign the DLL.&amp;nbsp; Of course the DLL was not there in the target folder, but that
was not the problem.&amp;nbsp; The build had worked before we rebuilt the server.
&lt;/p&gt;
&lt;p&gt;
A Google search produced a suggestion to change the file permissions on:
&lt;/p&gt;
&lt;blockquote&gt; 
&lt;p&gt;
C:\Documents and Settings\All Users\Application Data\Microsoft\Crypto\RSA\MachineKeys
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
We gave Administrators full access to the folders and were able to compile.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
Just a couple of days earlier, I had to give IIS_WPG access to this folder in order
for a web service to be able to read the keys and decrypt a WSE message.&amp;nbsp; The
service had worked fine after I had installed it and given access to the key file
using the WSE key utility.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
I noticed a pending Windows update icon was no longer in the system tray.&amp;nbsp; It
appears that update had tightened security on that folder.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=e3cd6893-a15e-49e1-8d83-f8776faa2c8b" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,e3cd6893-a15e-49e1-8d83-f8776faa2c8b.aspx</comments>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=d8aa6503-cf3d-4f8c-b63a-6041611735a0</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,d8aa6503-cf3d-4f8c-b63a-6041611735a0.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,d8aa6503-cf3d-4f8c-b63a-6041611735a0.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=d8aa6503-cf3d-4f8c-b63a-6041611735a0</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A new tool from Microsoft creates a single SQL file with both schema and
data creation commands, and works with 2000 and 2005. Read about it at <a title="SQL Server Deployment" href="http://weblogs.asp.net/scottgu/archive/2006/12/22/recipe-deploying-a-sql-database-to-a-remote-hosting-environment-part-1.aspx" target="_blank">Scott
Guthrie's blog</a>.
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=d8aa6503-cf3d-4f8c-b63a-6041611735a0" />
      </body>
      <title>New Microsoft Tool for Deploying SQL Server</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,d8aa6503-cf3d-4f8c-b63a-6041611735a0.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,d8aa6503-cf3d-4f8c-b63a-6041611735a0.aspx</link>
      <pubDate>Wed, 28 Mar 2007 20:49:43 GMT</pubDate>
      <description>&lt;p&gt;
A&amp;nbsp;new tool from Microsoft&amp;nbsp;creates a single SQL file with both schema and
data creation commands, and works with 2000 and 2005.&amp;nbsp;Read about it at &lt;a title="SQL Server Deployment" href="http://weblogs.asp.net/scottgu/archive/2006/12/22/recipe-deploying-a-sql-database-to-a-remote-hosting-environment-part-1.aspx" target=_blank&gt;Scott
Guthrie's blog&lt;/a&gt;.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=d8aa6503-cf3d-4f8c-b63a-6041611735a0" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,d8aa6503-cf3d-4f8c-b63a-6041611735a0.aspx</comments>
      <category>SQL Server;Deployment</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=2519a2f7-4a09-4238-8c2e-15971279c767</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,2519a2f7-4a09-4238-8c2e-15971279c767.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,2519a2f7-4a09-4238-8c2e-15971279c767.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=2519a2f7-4a09-4238-8c2e-15971279c767</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
A recent project I've been working on is a knowledge base with dynamic
data structures.  As such, all of the controls placed on the update page are
dynamically created at runtime.  
</p>
        <p>
There is a drop down list for country and state, with the country list causing a post
back to fill the state list.  We needed the page to scroll back to the country
list after postback to relieve the user of having to scroll down two pages.  
</p>
        <p>
It didn't take much research to find the Page directive <font color="#ff0000">MaintainScrollPositionOnPostback</font><font color="#0000ff">="true".  </font><font color="#000000">While
this did get the page to scroll back to the drop down list, it also caused the page
to scroll back to the submit button when there was a validation error (all done on
the server side).  Hey, no problem, I'll just set that directive programatically
only when the post back is caused by that drop down list.</font></p>
        <p>
I found a nice article by Peter Bromberg on a way to determine the control that causes a
post back at <a title="http://www.eggheadcafe.com/articles/20050609.asp" href="http://www.eggheadcafe.com/articles/20050609.asp">http://www.eggheadcafe.com/articles/20050609.asp</a>. 
I got null exceptions when trying to return the control, so I changed the code slightly
to just return a string that describes the type of control.
</p>
        <p>
But more null exceptions awaited me when I tried to set the scroll back directive
from the drop down list call back function.  Apparently this was also related
to the dynamic nature of the page.  I decided to abandon the page directive and
to wade into Javascript.
</p>
        <p>
An article at ASP.Net magazine by Brad McCabe, <a title="http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309bm_l/asp200309bm_l.asp" href="http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309bm_l/asp200309bm_l.asp">http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309bm_l/asp200309bm_l.asp</a> got 
me started in the right direction.  The functions presented would save the scroll
position in a hidden field, and that field would later be used to set the scroll position. 
I converted the functions to C# and implemented them in my Page.OnInit function. 
After getting all the Javascript errors resolved (always a chore for me), the page refused
to scroll on post back.
</p>
        <p>
Using a neat Javascript trace utility from <a title="http://www.interlogy.com/~cigdem/trace/" href="http://www.interlogy.com/~cigdem/trace/">http://www.interlogy.com/~cigdem/trace/</a> I
was able to determine that "theBody.scrollTop", which I translated as "document.body.scrollTop",
was not returning anything.  So I was saving nothing to the hidden control.
</p>
        <p>
Looking further I found a set of Javascript functions by "Tigra" at <a title="http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html" href="http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html">http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html</a> that
would find the x or y scroll postion, and the height and width of the window. 
The article also has a great cross reference table for different browsers and the
window/scroll functions supported by each.
</p>
        <p>
I only needed the y scroll function, and used a call to it to replace the document.page.scrollTop
property.  Now Tracer was confirming that I was saving the correct scroll position,
but alas the page did not scroll back.  After a little more debugging I
determined the page would never scroll by setting the document.body.scrollTop in this
situation since this is just a property you are setting.  Something else would
have to read that value to set the scroll.  I had no idea what that might be
since Javascript is not my strong point.  
</p>
        <p>
But there is a scroll function, and by calling scroll(0, [saved y value]) I was able
to finally get the page to scroll back only to the drop down list.
</p>
        <p>
          <strong>The post back control function, in App_Data/Global.asax.cs:</strong>
        </p>
        <p>
    <span style="COLOR: rgb(0,0,255)">public</span><span style="COLOR: rgb(0,0,255)">static</span><span style="COLOR: rgb(0,0,255)">string</span> GetPostBackControlType(System.Web.UI.<span style="COLOR: rgb(0,128,128)">Page</span> page)<br />
    {<br />
        <span style="COLOR: rgb(0,0,255)">string</span> objectType
= <span style="COLOR: rgb(0,0,255)">string</span>.Empty;<br />
        <span style="COLOR: rgb(0,128,128)">Control</span> control
= <span style="COLOR: rgb(0,0,255)">null</span>;<br />
        <span style="COLOR: rgb(0,0,255)">string</span> ctrlname
= page.Request.Params[<span style="COLOR: rgb(128,0,0)">"__EVENTTARGET"</span>];<br /><br />
        <span style="COLOR: rgb(0,0,255)">if</span> (ctrlname
!= <span style="COLOR: rgb(0,0,255)">null</span> &amp;&amp; ctrlname != <span style="COLOR: rgb(0,128,128)">String</span>.Empty)<br />
        {<br />
            control = page.FindControl(ctrlname);<br />
        }<br />
          <span style="COLOR: rgb(0,128,0)">//
if __EVENTTARGET is null, the control is a button type and we need to<br /></span>          <span style="COLOR: rgb(0,128,0)">//
iterate over the form collection to find it<br /></span>        <span style="COLOR: rgb(0,0,255)">else<br /></span>        {<br />
            <span style="COLOR: rgb(0,0,255)">string</span> ctrlStr=<span style="COLOR: rgb(0,128,128)">String</span>.Empty;<br />
            <span style="COLOR: rgb(0,128,128)">Control</span> c=<span style="COLOR: rgb(0,0,255)">null</span>;<br />
            
<br />
            <span style="COLOR: rgb(0,0,255)">foreach</span> (<span style="COLOR: rgb(0,0,255)">string</span> ctl <span style="COLOR: rgb(0,0,255)">in</span> page.Request.Form)<br />
            {<br />
                <span style="COLOR: rgb(0,128,0)">//
handle ImageButton controls ...<br /></span>                <span style="COLOR: rgb(0,0,255)">if</span> (ctl.EndsWith(<span style="COLOR: rgb(128,0,0)">".x"</span>)
|| ctl.EndsWith(<span style="COLOR: rgb(128,0,0)">".y"</span>))<br />
               
{<br />
                   
ctrlStr = ctl.Substring(0,ctl.Length-2);<br />
                   
c= page.FindControl(ctrlStr);<br />
               
}<br />
                <span style="COLOR: rgb(0,0,255)">else<br /></span>               
{<br />
                   
c = page.FindControl(ctl);<br />
               
}<br />
                <span style="COLOR: rgb(0,0,255)">if</span> (c <span style="COLOR: rgb(0,0,255)">is</span> System.Web.UI.WebControls.<span style="COLOR: rgb(0,128,128)">Button</span> || 
<br />
                  
c <span style="COLOR: rgb(0,0,255)">is</span> System.Web.UI.WebControls.<span style="COLOR: rgb(0,128,128)">ImageButton</span>)<br />
               
{<br />
                   
control = c;<br />
                    <span style="COLOR: rgb(0,0,255)">break</span>;<br />
               
}<br />
            }<br />
        }<br /><br />
        <span style="COLOR: rgb(0,0,255)">if</span> (control
!= <span style="COLOR: rgb(0,0,255)">null</span>)<br />
        {<br />
            objectType = control.GetType().ToString();<br />
        }<br /><br />
        <span style="COLOR: rgb(0,0,255)">return</span> objectType;<br /><br />
    }  
</p>
        <p>
          <strong>The Javascript placed in the body of the aspx page:</strong>
        </p>
        <p>
    <span style="COLOR: rgb(0,0,255)">&lt;</span><span style="COLOR: rgb(128,0,0)">script</span><span style="COLOR: rgb(255,0,0)">type</span><span style="COLOR: rgb(0,0,255)">="text/javascript"</span><span style="COLOR: rgb(255,0,0)">language</span><span style="COLOR: rgb(0,0,255)">="javascript"&gt;<br /></span>        <br />
       <span style="COLOR: rgb(0,0,255)">function</span> SaveScrollLocation
() {<br />
            <span style="COLOR: rgb(0,128,0)">//trace('Scroll
Top = ' + f_scrollTop());<br /></span>            window.document.forms[0].__SCROLLLOC.value
= f_scrollTop();<br />
        }<br />
        window.document.body.onscroll=SaveScrollLocation;<br /><br />
       <span style="COLOR: rgb(0,0,255)">function</span> f_scrollTop()
{<br />
            <span style="COLOR: rgb(0,0,255)">return</span> f_filterResults
(<br />
               
window.pageYOffset ? window.pageYOffset : 0,<br />
               
document.documentElement ? document.documentElement.scrollTop : 0,<br />
               
document.body ? document.body.scrollTop : 0);<br />
        }<br /><br />
       <span style="COLOR: rgb(0,0,255)">function</span> f_filterResults(n_win,
n_docel, n_body) {<br />
            <span style="COLOR: rgb(0,0,255)">var</span> n_result
= n_win ? n_win : 0;<br />
            <span style="COLOR: rgb(0,0,255)">if</span> (n_docel
&amp;&amp; (!n_result || (n_result &gt; n_docel)))<br />
               
n_result = n_docel;<br />
            <span style="COLOR: rgb(0,0,255)">return</span> n_body
&amp;&amp; (!n_result || (n_result &gt; n_body)) ? n_body : n_result;<br />
        }<br />
    <span style="COLOR: rgb(0,0,255)">&lt;/</span><span style="COLOR: rgb(128,0,0)">script</span><span style="COLOR: rgb(0,0,255)">&gt;<br /></span></p>
        <a href="http://11011.net/software/vspaste">
        </a>
        <p>
          <strong>The C# snippit placed in the Page OnInit function:</strong>
        </p>
        <p>
            <span style="COLOR: rgb(0,128,0)">//
hidden field to store scroll location<br /></span>            Page.ClientScript.RegisterHiddenField(<span style="COLOR: rgb(128,0,0)">"__SCROLLLOC"</span>, <span style="COLOR: rgb(128,0,0)">"0"</span>);<br /><br />
            <span style="COLOR: rgb(0,0,255)">if</span> (Page.IsPostBack)<br />
            {<br />
                <span style="COLOR: rgb(0,0,255)">string</span> ctrlType
= <span style="COLOR: rgb(0,128,128)">Global</span>.GetPostBackControlType(<span style="COLOR: rgb(0,0,255)">this</span>);<br /><br />
                <span style="COLOR: rgb(0,0,255)">if</span> (ctrlType.Contains(<span style="COLOR: rgb(128,0,0)">"DropDownList"</span>))<br />
               
{<br />
                    <span style="COLOR: rgb(0,128,0)">//
Keep scroll at the country drop down list<br /></span>                   
SetScrollLocation();<br />
               
}<br />
            }<br /></p>
        <p>
          <strong>The C# function to Set the Scroll Location:</strong>
        </p>
        <p>
    <span style="COLOR: rgb(0,0,255)">private</span><span style="COLOR: rgb(0,0,255)">void</span> SetScrollLocation()<br />
    {<br />
        <span style="COLOR: rgb(0,128,128)">StringBuilder</span> jsSB
= <span style="COLOR: rgb(0,0,255)">new</span><span style="COLOR: rgb(0,128,128)">StringBuilder</span>();<br /><br />
        jsSB.Append(<span style="COLOR: rgb(128,0,0)">"&lt;script
language='javascript'&gt;"</span>);<br />
        jsSB.Append(<span style="COLOR: rgb(128,0,0)">"function
SetScrollLocation () {"</span>);<br />
        jsSB.Append(<span style="COLOR: rgb(128,0,0)">" 
scroll(0,"</span> + Request[<span style="COLOR: rgb(128,0,0)">"__SCROLLLOC"</span>]
+ <span style="COLOR: rgb(128,0,0)">");"</span>);<br />
        jsSB.Append(<span style="COLOR: rgb(128,0,0)">"}"</span>);<br />
        jsSB.Append(<span style="COLOR: rgb(128,0,0)">"window.document.body.onload=SetScrollLocation;"</span>);<br />
        jsSB.Append(<span style="COLOR: rgb(128,0,0)">"&lt;/script&gt;"</span>);<br />
        
<br />
        Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), <span style="COLOR: rgb(128,0,0)">"setScroll"</span>,
jsSB.ToString());<br /><br />
    }<br /></p>
        <a href="http://11011.net/software/vspaste">
        </a>
        <p>
While this implementation only acts on the DropDownList, you could easily extend it
to different controls or different dropdowns by returning the ID of the control causing
the postback.
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=2519a2f7-4a09-4238-8c2e-15971279c767" />
      </body>
      <title>ASP.Net Scroll on Post Back</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,2519a2f7-4a09-4238-8c2e-15971279c767.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,2519a2f7-4a09-4238-8c2e-15971279c767.aspx</link>
      <pubDate>Mon, 26 Mar 2007 16:57:39 GMT</pubDate>
      <description>&lt;p&gt;
A recent project I've been&amp;nbsp;working&amp;nbsp;on is&amp;nbsp;a knowledge base with dynamic
data structures.&amp;nbsp; As such, all of the controls placed on the update page&amp;nbsp;are
dynamically created at runtime.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
There is a drop down list for country and state, with the country list causing a post
back to fill the state list.&amp;nbsp; We needed the page to scroll back to the country
list after postback to relieve the user of having to scroll down two pages.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
It didn't take much research to find the Page directive &lt;font color=#ff0000&gt;MaintainScrollPositionOnPostback&lt;/font&gt;&lt;font color=#0000ff&gt;="true".&amp;nbsp; &lt;/font&gt;&lt;font color=#000000&gt;While
this did get the page to scroll back to the drop down list, it also caused the page
to scroll back to the submit button when there was a validation error (all done on
the server side).&amp;nbsp; Hey, no problem, I'll just set that directive programatically
only when the post back is caused by that drop down list.&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
I found a nice article by Peter Bromberg on a way to determine the control that causes&amp;nbsp;a
post back at &lt;a title=http://www.eggheadcafe.com/articles/20050609.asp href="http://www.eggheadcafe.com/articles/20050609.asp"&gt;http://www.eggheadcafe.com/articles/20050609.asp&lt;/a&gt;.&amp;nbsp;
I got null exceptions when trying to return the control, so I changed the code slightly
to just return a string that describes the type of control.
&lt;/p&gt;
&lt;p&gt;
But more null exceptions awaited me when I tried to set the scroll back directive
from the drop down list call back function.&amp;nbsp; Apparently this was also related
to the dynamic nature of the page.&amp;nbsp; I decided to abandon the page directive and
to wade into Javascript.
&lt;/p&gt;
&lt;p&gt;
An article at ASP.Net magazine by Brad McCabe, &lt;a title=http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309bm_l/asp200309bm_l.asp href="http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309bm_l/asp200309bm_l.asp"&gt;http://www.aspnetpro.com/NewsletterArticle/2003/09/asp200309bm_l/asp200309bm_l.asp&lt;/a&gt;&amp;nbsp;got&amp;nbsp;
me started in the right direction.&amp;nbsp; The functions presented would save the scroll
position in a hidden field, and that field would later be used to set the scroll position.&amp;nbsp;
I converted the functions to C# and implemented them in my Page.OnInit function.&amp;nbsp;
After getting all the Javascript errors resolved (always a chore for me), the page&amp;nbsp;refused
to&amp;nbsp;scroll on post back.
&lt;/p&gt;
&lt;p&gt;
Using a neat Javascript trace utility from &lt;a title=http://www.interlogy.com/~cigdem/trace/ href="http://www.interlogy.com/~cigdem/trace/"&gt;http://www.interlogy.com/~cigdem/trace/&lt;/a&gt;&amp;nbsp;I
was able to determine that "theBody.scrollTop", which I translated as "document.body.scrollTop",
was not returning anything.&amp;nbsp; So I was saving nothing to the hidden control.
&lt;/p&gt;
&lt;p&gt;
Looking further I found a set of Javascript functions by "Tigra" at &lt;a title=http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html href="http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html"&gt;http://www.softcomplex.com/docs/get_window_size_and_scrollbar_position.html&lt;/a&gt;&amp;nbsp;that
would find the x or y scroll postion, and the height and width of the window.&amp;nbsp;
The article also has a great cross reference table for different browsers and the
window/scroll functions supported by each.
&lt;/p&gt;
&lt;p&gt;
I only needed the&amp;nbsp;y scroll function, and used a call to it to replace the document.page.scrollTop
property.&amp;nbsp; Now Tracer was confirming that I was saving the correct scroll position,
but alas the page did not scroll back.&amp;nbsp; After a&amp;nbsp;little more debugging I
determined the page would never scroll by setting the document.body.scrollTop in this
situation since this is just a property you are setting.&amp;nbsp; Something else would
have to read that value to set the scroll.&amp;nbsp; I had no idea what that might be
since Javascript is not my strong point.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
But there is a scroll function, and by calling scroll(0, [saved y value]) I was able
to finally get the page to scroll back only to the drop down list.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The post back control function, in App_Data/Global.asax.cs:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;public&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;static&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; GetPostBackControlType(System.Web.UI.&lt;span style="COLOR: rgb(0,128,128)"&gt;Page&lt;/span&gt; page)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; objectType
= &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt;.Empty;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,128)"&gt;Control&lt;/span&gt; control
= &lt;span style="COLOR: rgb(0,0,255)"&gt;null&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; ctrlname
= page.Request.Params[&lt;span style="COLOR: rgb(128,0,0)"&gt;"__EVENTTARGET"&lt;/span&gt;];&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (ctrlname
!= &lt;span style="COLOR: rgb(0,0,255)"&gt;null&lt;/span&gt; &amp;amp;&amp;amp; ctrlname != &lt;span style="COLOR: rgb(0,128,128)"&gt;String&lt;/span&gt;.Empty)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; control = page.FindControl(ctrlname);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,0)"&gt;//
if __EVENTTARGET is null, the control is a button type and we need to&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,0)"&gt;//
iterate over the form collection to find it&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;else&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; ctrlStr=&lt;span style="COLOR: rgb(0,128,128)"&gt;String&lt;/span&gt;.Empty;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,128)"&gt;Control&lt;/span&gt; c=&lt;span style="COLOR: rgb(0,0,255)"&gt;null&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;foreach&lt;/span&gt; (&lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; ctl &lt;span style="COLOR: rgb(0,0,255)"&gt;in&lt;/span&gt; page.Request.Form)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,0)"&gt;//
handle ImageButton controls ...&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (ctl.EndsWith(&lt;span style="COLOR: rgb(128,0,0)"&gt;".x"&lt;/span&gt;)
|| ctl.EndsWith(&lt;span style="COLOR: rgb(128,0,0)"&gt;".y"&lt;/span&gt;))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
ctrlStr = ctl.Substring(0,ctl.Length-2);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
c= page.FindControl(ctrlStr);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;else&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
c = page.FindControl(ctl);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (c &lt;span style="COLOR: rgb(0,0,255)"&gt;is&lt;/span&gt; System.Web.UI.WebControls.&lt;span style="COLOR: rgb(0,128,128)"&gt;Button&lt;/span&gt; || 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
c &lt;span style="COLOR: rgb(0,0,255)"&gt;is&lt;/span&gt; System.Web.UI.WebControls.&lt;span style="COLOR: rgb(0,128,128)"&gt;ImageButton&lt;/span&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
control = c;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;break&lt;/span&gt;;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (control
!= &lt;span style="COLOR: rgb(0,0,255)"&gt;null&lt;/span&gt;)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; objectType = control.GetType().ToString();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;return&lt;/span&gt; objectType;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The Javascript placed in the body of the aspx page:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;&lt;/span&gt;&lt;span style="COLOR: rgb(128,0,0)"&gt;script&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;type&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="text/javascript"&lt;/span&gt; &lt;span style="COLOR: rgb(255,0,0)"&gt;language&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;="javascript"&amp;gt;&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: rgb(0,0,255)"&gt;function&lt;/span&gt; SaveScrollLocation
() {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,0)"&gt;//trace('Scroll
Top = ' + f_scrollTop());&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.document.forms[0].__SCROLLLOC.value
= f_scrollTop();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; window.document.body.onscroll=SaveScrollLocation;&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: rgb(0,0,255)"&gt;function&lt;/span&gt; f_scrollTop()
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;return&lt;/span&gt; f_filterResults
(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
window.pageYOffset ? window.pageYOffset : 0,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
document.documentElement ? document.documentElement.scrollTop : 0,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
document.body ? document.body.scrollTop : 0);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="COLOR: rgb(0,0,255)"&gt;function&lt;/span&gt; f_filterResults(n_win,
n_docel, n_body) {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;var&lt;/span&gt; n_result
= n_win ? n_win : 0;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (n_docel
&amp;amp;&amp;amp; (!n_result || (n_result &amp;gt; n_docel)))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
n_result = n_docel;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;return&lt;/span&gt; n_body
&amp;amp;&amp;amp; (!n_result || (n_result &amp;gt; n_body)) ? n_body : n_result;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="COLOR: rgb(128,0,0)"&gt;script&lt;/span&gt;&lt;span style="COLOR: rgb(0,0,255)"&gt;&amp;gt;&lt;br&gt;
&lt;/span&gt;
&lt;/p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; 
&lt;p&gt;
&lt;strong&gt;The C# snippit placed in the Page OnInit function:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,0)"&gt;//
hidden field to store scroll location&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Page.ClientScript.RegisterHiddenField(&lt;span style="COLOR: rgb(128,0,0)"&gt;"__SCROLLLOC"&lt;/span&gt;, &lt;span style="COLOR: rgb(128,0,0)"&gt;"0"&lt;/span&gt;);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (Page.IsPostBack)&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;string&lt;/span&gt; ctrlType
= &lt;span style="COLOR: rgb(0,128,128)"&gt;Global&lt;/span&gt;.GetPostBackControlType(&lt;span style="COLOR: rgb(0,0,255)"&gt;this&lt;/span&gt;);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;if&lt;/span&gt; (ctrlType.Contains(&lt;span style="COLOR: rgb(128,0,0)"&gt;"DropDownList"&lt;/span&gt;))&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,0)"&gt;//
Keep scroll at the country drop down list&lt;br&gt;
&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
SetScrollLocation();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;The C# function to Set the Scroll Location:&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,0,255)"&gt;private&lt;/span&gt; &lt;span style="COLOR: rgb(0,0,255)"&gt;void&lt;/span&gt; SetScrollLocation()&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="COLOR: rgb(0,128,128)"&gt;StringBuilder&lt;/span&gt; jsSB
= &lt;span style="COLOR: rgb(0,0,255)"&gt;new&lt;/span&gt; &lt;span style="COLOR: rgb(0,128,128)"&gt;StringBuilder&lt;/span&gt;();&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsSB.Append(&lt;span style="COLOR: rgb(128,0,0)"&gt;"&amp;lt;script
language='javascript'&amp;gt;"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsSB.Append(&lt;span style="COLOR: rgb(128,0,0)"&gt;"function
SetScrollLocation () {"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsSB.Append(&lt;span style="COLOR: rgb(128,0,0)"&gt;"&amp;nbsp;
scroll(0,"&lt;/span&gt; + Request[&lt;span style="COLOR: rgb(128,0,0)"&gt;"__SCROLLLOC"&lt;/span&gt;]
+ &lt;span style="COLOR: rgb(128,0,0)"&gt;");"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsSB.Append(&lt;span style="COLOR: rgb(128,0,0)"&gt;"}"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsSB.Append(&lt;span style="COLOR: rgb(128,0,0)"&gt;"window.document.body.onload=SetScrollLocation;"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jsSB.Append(&lt;span style="COLOR: rgb(128,0,0)"&gt;"&amp;lt;/script&amp;gt;"&lt;/span&gt;);&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Page.ClientScript.RegisterClientScriptBlock(Page.GetType(), &lt;span style="COLOR: rgb(128,0,0)"&gt;"setScroll"&lt;/span&gt;,
jsSB.ToString());&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&lt;/p&gt;
&lt;a href="http://11011.net/software/vspaste"&gt;&lt;/a&gt; 
&lt;p&gt;
While this implementation only acts on the DropDownList, you could easily extend it
to different controls or different dropdowns by returning the ID of the control causing
the postback.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=2519a2f7-4a09-4238-8c2e-15971279c767" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,2519a2f7-4a09-4238-8c2e-15971279c767.aspx</comments>
      <category>ASP.Net Controls;ASP.Net;Javascript</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=0afae1de-9177-44cb-9f05-00cb7b0b1be7</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,0afae1de-9177-44cb-9f05-00cb7b0b1be7.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,0afae1de-9177-44cb-9f05-00cb7b0b1be7.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=0afae1de-9177-44cb-9f05-00cb7b0b1be7</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I recently had all my entries disappear from this blog.  After reading about
the problem at <a title="Das Blog Support" href="http://dasblog.us/" target="_blank">dasblog.us</a> I
extended the session timeout on the site.  It looks to me like the session expired
during a lengthy editing session, and left the system in an unstable state. 
I had to upload a new version of web.config to get my content to display once more.  
</p>
        <p>
This entry was created using Widows Live Writer, which writes directly to the site
and will avoid any session timeouts.  
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=0afae1de-9177-44cb-9f05-00cb7b0b1be7" />
      </body>
      <title>Das Blog ASP.Net 2.0 Vanishing Content</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,0afae1de-9177-44cb-9f05-00cb7b0b1be7.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,0afae1de-9177-44cb-9f05-00cb7b0b1be7.aspx</link>
      <pubDate>Mon, 05 Mar 2007 21:02:54 GMT</pubDate>
      <description>&lt;p&gt;
I recently had all my entries disappear from this blog.&amp;nbsp; After reading about
the problem at &lt;a title="Das Blog Support" href="http://dasblog.us/" target=_blank&gt;dasblog.us&lt;/a&gt;&amp;nbsp;I
extended the session timeout on the site.&amp;nbsp; It looks to me like the session expired
during a lengthy editing session, and left the system in an unstable state.&amp;nbsp;
I had to upload a new version of web.config to get my content to display once more.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
This entry was created using Widows Live Writer, which writes directly to the site
and will avoid any session timeouts.&amp;nbsp; 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=0afae1de-9177-44cb-9f05-00cb7b0b1be7" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,0afae1de-9177-44cb-9f05-00cb7b0b1be7.aspx</comments>
      <category>ASP.Net;Das Blog</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=f9e0061c-8ef0-4f0d-a33e-fdaddb081611</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,f9e0061c-8ef0-4f0d-a33e-fdaddb081611.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,f9e0061c-8ef0-4f0d-a33e-fdaddb081611.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=f9e0061c-8ef0-4f0d-a33e-fdaddb081611</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I was tasked with developing a web service for our development team that would
mimick the operation of a client web service that has access limited
by IP address. This target service was developed with WSE 2.0.  The
encryption used in WSE 2.0 is different from that in 3.0.  Allthough
some posts I read said you could change the encryption mode, I decided it would
be less risky to adapt WSE 2.0 to ASP.NET 3.0.  
</p>
        <p>
There are lots of sample programs for using WSE 3.0 in ASP.Net 2.0, but none using
WSE 2.0. Here are a couple of things that I had to change in the Web.Config given
in the sample projects that come with the WSE install:
</p>
        <font color="#0000ff" size="1">
          <br />
&lt;</font>
        <font color="#800000" size="1">security</font>
        <font color="#0000ff" size="1">&gt;<br />
&lt;</font>
        <font color="#800000" size="1">x509</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">storeLocation</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">LocalMachine</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">allowTestRoot</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">true</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">allowRevocationUrlRetrieval</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">false</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">verifyTrust</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">true</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">/&gt;<br />
&lt;!--</font>
        <font color="#008000" size="1">Replaced UsernameSignCodeService with
App_Code for using WSE 2.0 in VS2005!!!! </font>
        <font color="#0000ff" size="1">--&gt;<br />
&lt;</font>
        <font color="#800000" size="1">securityTokenManager</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">type</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">EcsMockWebService.CustomUsernameTokenManager,
App_Code</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">xmlns:wsse</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">qname</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">wsse:UsernameToken</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1"> /&gt;<br />
&lt;/</font>
        <font color="#800000" size="1">security</font>
        <font color="#0000ff" size="1">&gt; 
<p></p></font>
        <font color="#0000ff" size="1">
          <p>
            <br />
&lt;
</p>
        </font>
        <font color="#800000" size="1">webServices</font>
        <font color="#0000ff" size="1">&gt;<br />
&lt;</font>
        <font color="#800000" size="1">soapExtensionTypes</font>
        <font color="#0000ff" size="1">&gt;<br />
&lt;!--</font>
        <font color="#008000" size="1"> group="0" removed from the end of the
following line to use WSE 2.0 in ASP.Net 2.0 </font>
        <font color="#0000ff" size="1">--&gt;<br />
&lt;</font>
        <font color="#800000" size="1">add</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">type</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">Microsoft.Web.Services2.WebServicesExtension,
Microsoft.Web.Services2, Version=2.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">
        </font>
        <font color="#ff0000" size="1">priority</font>
        <font color="#0000ff" size="1">=</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">1</font>
        <font color="#000000" size="1">"</font>
        <font color="#0000ff" size="1">/&gt;</font>
        <font color="#0000ff" size="1">
          <br />
&lt;/</font>
        <font color="#800000" size="1">soapExtensionTypes</font>
        <font color="#0000ff" size="1">&gt; 
<br />
&lt;/</font>
        <font color="#800000" size="1">webServices</font>
        <font color="#0000ff" size="1">&gt;</font>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=f9e0061c-8ef0-4f0d-a33e-fdaddb081611" />
      </body>
      <title>Using WSE 2.0 in ASP.Net 2.0</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,f9e0061c-8ef0-4f0d-a33e-fdaddb081611.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,f9e0061c-8ef0-4f0d-a33e-fdaddb081611.aspx</link>
      <pubDate>Mon, 05 Mar 2007 19:02:12 GMT</pubDate>
      <description>&lt;p&gt;
I&amp;nbsp;was tasked with developing a web service for our development team that would
mimick the operation of&amp;nbsp;a client&amp;nbsp;web service that&amp;nbsp;has access limited
by IP address.&amp;nbsp;This target&amp;nbsp;service was developed with WSE 2.0.&amp;nbsp;&amp;nbsp;The
encryption used in WSE 2.0 is different&amp;nbsp;from that in&amp;nbsp;3.0.&amp;nbsp; Allthough
some posts I read said you could change the encryption mode,&amp;nbsp;I decided it would
be less risky to adapt WSE&amp;nbsp;2.0 to ASP.NET 3.0.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
There are lots of sample programs for using WSE 3.0 in ASP.Net 2.0, but none using
WSE 2.0.&amp;nbsp;Here are a couple of things that I had to change in the Web.Config given
in the sample projects that come with the WSE install:
&lt;/p&gt;
&lt;font color=#0000ff size=1&gt;
&lt;br&gt;
&amp;lt;&lt;/font&gt;&lt;font color=#800000 size=1&gt;security&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;gt;&lt;br&gt;
&amp;lt;&lt;/font&gt;&lt;font color=#800000 size=1&gt;x509&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;storeLocation&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;LocalMachine&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;allowTestRoot&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;true&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;allowRevocationUrlRetrieval&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;false&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;verifyTrust&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;true&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;/&amp;gt;&lt;br&gt;
&amp;lt;!--&lt;/font&gt;&lt;font color=#008000 size=1&gt;Replaced UsernameSignCodeService with App_Code
for using WSE 2.0 in VS2005!!!! &lt;/font&gt;&lt;font color=#0000ff size=1&gt;--&amp;gt;&lt;br&gt;
&amp;lt;&lt;/font&gt;&lt;font color=#800000 size=1&gt;securityTokenManager&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;type&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;EcsMockWebService.CustomUsernameTokenManager,
App_Code&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;xmlns:wsse&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;qname&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;wsse:UsernameToken&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt; /&amp;gt;&lt;br&gt;
&amp;lt;/&lt;/font&gt;&lt;font color=#800000 size=1&gt;security&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;gt; 
&lt;p&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=1&gt; 
&lt;p&gt;
&lt;br&gt;
&amp;lt;
&lt;/font&gt;&lt;font color=#800000 size=1&gt;webServices&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;gt;&lt;br&gt;
&amp;lt;&lt;/font&gt;&lt;font color=#800000 size=1&gt;soapExtensionTypes&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;gt;&lt;br&gt;
&amp;lt;!--&lt;/font&gt;&lt;font color=#008000 size=1&gt; group="0" removed from the end of the following
line to use WSE 2.0 in ASP.Net 2.0 &lt;/font&gt;&lt;font color=#0000ff size=1&gt;--&amp;gt;&lt;br&gt;
&amp;lt;&lt;/font&gt;&lt;font color=#800000 size=1&gt;add&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;type&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;Microsoft.Web.Services2.WebServicesExtension,
Microsoft.Web.Services2, Version=2.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;priority&lt;/font&gt;&lt;font color=#0000ff size=1&gt;=&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;1&lt;/font&gt;&lt;font color=#000000 size=1&gt;"&lt;/font&gt;&lt;font color=#0000ff size=1&gt;/&amp;gt;&lt;/font&gt;&lt;font color=#0000ff size=1&gt;
&lt;br&gt;
&amp;lt;/&lt;/font&gt;&lt;font color=#800000 size=1&gt;soapExtensionTypes&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;gt; 
&lt;br&gt;
&amp;lt;/&lt;/font&gt;&lt;font color=#800000 size=1&gt;webServices&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;gt;&lt;/font&gt;&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=f9e0061c-8ef0-4f0d-a33e-fdaddb081611" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,f9e0061c-8ef0-4f0d-a33e-fdaddb081611.aspx</comments>
      <category>ASP.Net;Web Services;WSE</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=ac6f2adf-6d34-4b61-be1a-7194215b4ff5</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,ac6f2adf-6d34-4b61-be1a-7194215b4ff5.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,ac6f2adf-6d34-4b61-be1a-7194215b4ff5.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=ac6f2adf-6d34-4b61-be1a-7194215b4ff5</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
To make an ASP.NET control validator recognize an alternate date format such as DD/MM/YYYY,
set the culture at the page level with:
</p>
        <font size="1">
          <p>
Page.Culture = 
</p>
        </font>
        <font color="#800000" size="1">"en-AU"</font>
        <font size="1">;
</font>
        <p>
This will set the validators for Australian English, and the following validator will
work correctly:
</p>
        <font size="1">
          <p>
          </p>
        </font>
        <font color="#0000ff" size="1">&lt;</font>
        <font color="#800000" size="1">asp</font>
        <font color="#0000ff" size="1">:</font>
        <font color="#800000" size="1">CompareValidator </font>
        <font color="#ff0000" size="1">ID</font>
        <font color="#0000ff" size="1">="cvStartDate"</font>
        <font size="1">
        </font>
        <font color="#ff0000" size="1">runat</font>
        <font color="#0000ff" size="1">="server"</font>
        <font size="1">
        </font>
        <font color="#ff0000" size="1">ControlToValidate</font>
        <font color="#0000ff" size="1">="txtStartDate"</font>
        <font size="1">
        </font>
        <font color="#ff0000" size="1">ErrorMessage</font>
        <font color="#0000ff" size="1">="The
From Date should be in the format DD/MM/YYYY." </font>
        <font color="#ff0000" size="1">Operator</font>
        <font color="#0000ff" size="1">="DataTypeCheck"</font>
        <font size="1">
        </font>
        <font color="#ff0000" size="1">Type</font>
        <font color="#0000ff" size="1">="Date"&gt;</font>
        <font size="1">*</font>
        <font color="#0000ff" size="1">&lt;/</font>
        <font color="#800000" size="1">asp</font>
        <font color="#0000ff" size="1">:</font>
        <font color="#800000" size="1">CompareValidator</font>
        <font color="#0000ff" size="1">&gt;</font>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=ac6f2adf-6d34-4b61-be1a-7194215b4ff5" />
      </body>
      <title>Date Format Recognition in ASP.NET Controls</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,ac6f2adf-6d34-4b61-be1a-7194215b4ff5.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,ac6f2adf-6d34-4b61-be1a-7194215b4ff5.aspx</link>
      <pubDate>Mon, 29 Jan 2007 16:53:54 GMT</pubDate>
      <description>&lt;p&gt;
To make an ASP.NET control validator recognize an alternate date format such as DD/MM/YYYY,
set the culture at the page level with:
&lt;/p&gt;
&lt;font size=1&gt; 
&lt;p&gt;
Page.Culture = 
&lt;/font&gt;&lt;font color=#800000 size=1&gt;"en-AU"&lt;/font&gt;&lt;font size=1&gt;;&gt;
&lt;/font&gt; 
&lt;p&gt;
This will set the validators for Australian English, and the following validator will
work correctly:
&lt;/p&gt;
&lt;font size=1&gt; 
&lt;p&gt;
&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;lt;&lt;/font&gt;&lt;font color=#800000 size=1&gt;asp&lt;/font&gt;&lt;font color=#0000ff size=1&gt;:&lt;/font&gt;&lt;font color=#800000 size=1&gt;CompareValidator &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;ID&lt;/font&gt;&lt;font color=#0000ff size=1&gt;="cvStartDate"&lt;/font&gt;&lt;font size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;runat&lt;/font&gt;&lt;font color=#0000ff size=1&gt;="server"&lt;/font&gt;&lt;font size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;ControlToValidate&lt;/font&gt;&lt;font color=#0000ff size=1&gt;="txtStartDate"&lt;/font&gt;&lt;font size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;ErrorMessage&lt;/font&gt;&lt;font color=#0000ff size=1&gt;="The
From Date should be in the format DD/MM/YYYY." &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;Operator&lt;/font&gt;&lt;font color=#0000ff size=1&gt;="DataTypeCheck"&lt;/font&gt;&lt;font size=1&gt; &lt;/font&gt;&lt;font color=#ff0000 size=1&gt;Type&lt;/font&gt;&lt;font color=#0000ff size=1&gt;="Date"&amp;gt;&lt;/font&gt;&lt;font size=1&gt;*&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;lt;/&lt;/font&gt;&lt;font color=#800000 size=1&gt;asp&lt;/font&gt;&lt;font color=#0000ff size=1&gt;:&lt;/font&gt;&lt;font color=#800000 size=1&gt;CompareValidator&lt;/font&gt;&lt;font color=#0000ff size=1&gt;&amp;gt;&lt;/font&gt;&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=ac6f2adf-6d34-4b61-be1a-7194215b4ff5" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,ac6f2adf-6d34-4b61-be1a-7194215b4ff5.aspx</comments>
      <category>ASP.Net Controls</category>
    </item>
    <item>
      <trackback:ping>http://www.fredwebs.com/Blog/Trackback.aspx?guid=aacbf13a-15bc-4995-b45a-225887873518</trackback:ping>
      <pingback:server>http://www.fredwebs.com/Blog/pingback.aspx</pingback:server>
      <pingback:target>http://www.fredwebs.com/Blog/PermaLink,guid,aacbf13a-15bc-4995-b45a-225887873518.aspx</pingback:target>
      <dc:creator>Fred Peters!</dc:creator>
      <wfw:comment>http://www.fredwebs.com/Blog/CommentView,guid,aacbf13a-15bc-4995-b45a-225887873518.aspx</wfw:comment>
      <wfw:commentRss>http://www.fredwebs.com/Blog/SyndicationService.asmx/GetEntryCommentsRss?guid=aacbf13a-15bc-4995-b45a-225887873518</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
We were recently handed some mock up ASPX pages to use in a facelift of
an existing ASP.Net 2.0 application.  The pages used CSS extensively and
unfortunately used no server controls as used in the existing applicaton.  The
conversion has been painful and time consuming.  
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
Apparently label controls that have no text play havoc with the format, large blank
areas will appear when you narrow the browser window.  I had to change them to
be not visible and add code to switch the visible attribute on and off.  This
rendered useless my long time use of an informational label with view state disabled,
which never needed clearing or making not visible.
</p>
          <p>
Also some controls such as the checkbox are rendered with a SPAN around them that
causes unwanted wrapping problems.  I tried to have the created SPAN's inherit
a style, but this would not fix wrap problems no matter how wide I made the span width.
</p>
          <p>
It is interesting to note that checkbox controls that are dynamically added to a panel
do not have this problem.  Of course then you have to maintain the view state
of the control yourself which adds a lot of complexity.<br /></p>
        </blockquote>
        <p dir="ltr">
Fred
</p>
        <img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=aacbf13a-15bc-4995-b45a-225887873518" />
      </body>
      <title>CSS and ASP.Net</title>
      <guid isPermaLink="false">http://www.fredwebs.com/Blog/PermaLink,guid,aacbf13a-15bc-4995-b45a-225887873518.aspx</guid>
      <link>http://www.fredwebs.com/Blog/PermaLink,guid,aacbf13a-15bc-4995-b45a-225887873518.aspx</link>
      <pubDate>Mon, 15 Jan 2007 16:25:30 GMT</pubDate>
      <description>&lt;p&gt;
We were recently handed some mock up ASPX&amp;nbsp;pages&amp;nbsp;to use in a facelift of
an existing ASP.Net 2.0 application.&amp;nbsp; The&amp;nbsp;pages used CSS extensively and
unfortunately used no server controls as used in the existing applicaton.&amp;nbsp; The
conversion has been painful and time consuming.&amp;nbsp; 
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
Apparently label controls that have no text play havoc with the format, large blank
areas will appear when you narrow the browser window.&amp;nbsp; I had to change them to
be not visible and add code to switch the visible attribute on and off.&amp;nbsp; This
rendered useless my long time use of an informational label with view state disabled,
which never needed clearing or making not visible.
&lt;/p&gt;
&lt;p&gt;
Also some controls such as the checkbox are rendered with a SPAN around them that
causes unwanted wrapping problems.&amp;nbsp; I tried to have the created SPAN's inherit
a style, but this would not fix wrap problems no matter how wide I made the span width.
&lt;/p&gt;
&lt;p&gt;
It is interesting to note that checkbox controls that are dynamically added to a panel
do not have this problem.&amp;nbsp; Of course then you have to maintain the view state
of the control yourself which adds a lot of complexity.&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p dir=ltr&gt;
Fred
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.fredwebs.com/Blog/aggbug.ashx?id=aacbf13a-15bc-4995-b45a-225887873518" /&gt;</description>
      <comments>http://www.fredwebs.com/Blog/CommentView,guid,aacbf13a-15bc-4995-b45a-225887873518.aspx</comments>
      <category>CSS - ASP.Net</category>
    </item>
  </channel>
</rss>