<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" 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:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>ASP.Net</title>
        <link>http://blog.crowe.co.nz/blog/category/10.aspx</link>
        <description>ASP.Net</description>
        <language>en-NZ</language>
        <copyright>Chris Crowe</copyright>
        <managingEditor>blog@crowe.co.nz</managingEditor>
        <generator>Subtext Version 1.9.4.0</generator>
        <item>
            <title>ASP.NET ViewState Helper </title>
            <link>http://blog.crowe.co.nz/archive/2007/05/02/735.aspx</link>
            <description>&lt;p&gt;ASP.NET ViewState Helper is an application designed to help all web developers, but has specific features to aid ASP.NET developers track ViewState issues. In real-time you can see your web pages being analyzed while you browse to them using Internet Explorer 6.0 or higher. As you can see in this &lt;a target="_blank" href="http://www.binaryfortress.com/Images/ASPNETViewStateHelper/v0_5_Screen01.gif"&gt;Screen Shot&lt;/a&gt;, ASP.NET ViewState Helper gives you very detailed information to help you optimize your web application’s performance. You can see page information like:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Page’s total size: This is the total size of the web page shown in the URL column &lt;/li&gt;
    &lt;li&gt;ViewState size: This is the size of the ViewState field &lt;/li&gt;
    &lt;li&gt;ViewState %: What percent of the total page size is being taken up by the ViewState? &lt;/li&gt;
    &lt;li&gt;Markup size: The size of html markup (non-visible text) on the page &lt;/li&gt;
    &lt;li&gt;Markup %: What percent of the page consists of non-visible HTML markup? &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Double-clicking on any URL in the list will bring up the &lt;a target="_blank" href="http://www.binaryfortress.com/Images/ASPNETViewStateHelper/v0_5_Screen02.gif"&gt;ViewState decoder&lt;/a&gt; window. If the page you double-clicked on contains a ViewState, it will be decoded into plain text, and also broken down into a tree-view for easy analysis.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Key Features:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Compatible with Internet Explorer 6.0 and 7.0 &lt;/li&gt;
    &lt;li&gt;Compatible with Windows 2000, XP and Vista &lt;/li&gt;
    &lt;li&gt;Works in real-time to give you detailed page information &lt;/li&gt;
    &lt;li&gt;Analyzes all webpages, even pages inside frames &lt;/li&gt;
    &lt;li&gt;ViewState decoding works with ASP.NET v1.0, 1.1 and 2.0 applications &lt;/li&gt;
    &lt;li&gt;Only a 300k download with a quick and easy installer &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Downloads&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://www.binaryfortress.com/go.php?http://www.binaryfortress.com/Files/ASPNETViewStateHelper/ASP.NET_ViewState_Helper_v0.6_x86.exe"&gt;ASP.NET ViewState Helper v0.6 for x86&lt;/a&gt; (310 KB) :: April 23, 2007&lt;/li&gt;
    &lt;li&gt;&lt;a target="_blank" href="http://www.binaryfortress.com/go.php?http://www.binaryfortress.com/Files/ASPNETViewStateHelper/ASP.NET_ViewState_Helper_v0.6_x64.exe"&gt;ASP.NET ViewState Helper v0.6 for x64&lt;/a&gt; (310 KB) :: April 23, 2007&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img alt="" src="http://www.binaryfortress.com/Images/ASPNETViewStateHelper/v0_5_Screen02.gif" /&gt;&lt;/p&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/735.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2007/05/02/735.aspx</guid>
            <pubDate>Tue, 01 May 2007 19:19:24 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2007/05/02/735.aspx#feedback</comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/735.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Replacing CRLF with BR in a Repeater or GridView</title>
            <link>http://blog.crowe.co.nz/archive/2007/04/20/734.aspx</link>
            <description>&lt;p&gt;When you are delaing with a Repeater or GridView and you have a string which contains embedded Carriage Returns and Line Feeds (CRLF) and you want to display that data using the CRLF you must change them to &amp;lt;BR&amp;gt; tags.&lt;/p&gt;
&lt;p&gt;This can be acheived by the simple line below.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Eval("FieldName").ToString().Replace("\r\n", "&amp;lt;BR&amp;gt;") &lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Normally when you embed data from a database you may use the following &lt;strong&gt;Bind&lt;/strong&gt; But &lt;strong&gt;Eval&lt;/strong&gt; allows you to evaluate a complete expression.&lt;/p&gt;
&lt;p&gt;A small sample is shown below&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Repeater&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="repComments"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="server"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;HeaderTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;table&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;cellspacing&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;='0'&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;cellpadding&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;='0'&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;width&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;='650px'&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;HeaderTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br /&gt;
&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ItemTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;tr&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;  &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;td&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;      &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Label&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="lblName"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;CssClass&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="commentName"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="server"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Text&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;='&lt;/font&gt;&lt;font size="2"&gt;&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;&amp;lt;%&lt;/font&gt;# Bind("CreatedBy") &lt;font style="BACKGROUND-COLOR: #ffff99"&gt;%&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;'&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Label&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
  &amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;td&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;  &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;td&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;align&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="right"&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;     &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Label&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;ID&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="Label1"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;CssClass&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="commentDate"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;runat&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="server"&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;Text&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;='&lt;/font&gt;&lt;font size="2"&gt;&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;&amp;lt;%&lt;/font&gt;# Bind("CreatedDateTimeUTC") &lt;font style="BACKGROUND-COLOR: #ffff99"&gt;%&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;'&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Label&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
  &amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;td&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;tr&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;tr&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;   &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;td&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;colspan&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="2"&amp;gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;br&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;/&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;      &lt;/font&gt;&lt;font size="2"&gt;&lt;font style="BACKGROUND-COLOR: #ffff99"&gt;&amp;lt;%&lt;/font&gt;# Eval("Comment").ToString().Replace("\r\n", "&amp;lt;BR&amp;gt;") &lt;font style="BACKGROUND-COLOR: #ffff99"&gt;%&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;      &amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;div&lt;/font&gt;&lt;font size="2"&gt; &lt;/font&gt;&lt;font color="#ff0000" size="2"&gt;style&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;="padding-top: 10px; margin-bottom: 10px; border-bottom: dashed thin;"&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;div&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;   &amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;td&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;tr&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;ItemTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;FooterTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;table&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;FooterTemplate&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;lt;/&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;asp&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;:&lt;/font&gt;&lt;font color="#a31515" size="2"&gt;Repeater&lt;/font&gt;&lt;font color="#0000ff" size="2"&gt;&amp;gt;&lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/734.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2007/04/20/734.aspx</guid>
            <pubDate>Thu, 19 Apr 2007 21:05:12 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2007/04/20/734.aspx#feedback</comments>
            <slash:comments>5</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/734.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Telerik Code Converter - convert C# to VB.NET and visa versa</title>
            <link>http://blog.crowe.co.nz/archive/2007/04/19/731.aspx</link>
            <description>&lt;font size="2"&gt;
&lt;p&gt;Code Converter is a free and simple VB to C# and C# to VB code converter. While there are several other good code converters available, none are perfect. Some are buried in busy websites. Some are awkward to use. Some just don't convert accurately! Code Converter, while not yet perfect, aims to address these issues and provide the best free .NET converter available on the web.&lt;/p&gt;
&lt;p&gt;&lt;img height="542" width="443" alt="" src="/images/blog_crowe_co_nz/CodeConvertor.gif" /&gt;&lt;/p&gt;
&lt;p&gt;Part of the mission of delivering the best code conversion service means that it needs to be available wherever and whenever you need it. For that reason, we will be building code conversion widgets for all of the major widget engines (such as Google Desktop, Windows Sidebar, and Yahoo! Widgets) so that you can easily convert your code snippet while minimizing the interruption to your work. The following code conversion widgets are already ready and available here: &lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://widgets.yahoo.com/gallery/view.php?widget=41587"&gt;Yahoo! Widgets Code Converter&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a href="http://www.google.com/ig/directory?hl=en&amp;amp;root=%2Fig&amp;amp;dpos=top&amp;amp;num=24&amp;amp;url=http://www.codechanger.com/google/CodeConverterGadget.xml"&gt;Google Gadget Code Converter &lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="http://gallery.live.com/LiveItemDetail.aspx?li=75cffe62-c8d0-4feb-a028-5ac8638b5321"&gt;Windows Vista Sidebar Gadget Code Converter&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Google Desktop Gadget Code Converter (&lt;strong&gt;coming soon&lt;/strong&gt;) &lt;/li&gt;
    &lt;li&gt;Visual Studio 2005 Add-in (&lt;strong&gt;being researched&lt;/strong&gt;) &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img height="191" width="812" alt="" src="/images/blog_crowe_co_nz/CodeConvertor1.gif" /&gt;&lt;/p&gt;
&lt;p&gt;To try on line see &lt;font face="Arial"&gt;&lt;a href="http://converter.telerik.com/Default.aspx"&gt;http://converter.telerik.com/Default.aspx&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conversions by NRefactory&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;For the heavy lifting, we rely on the open source NRefactory library to perform code conversions. NRefactory is a powerful C# to VB and VB to C# conversion engine maintained by the developers at SharpDevelop. By default, NRefactory requires that all code be properly wrapped in a class and (as necessary) method before converting. We try to save you time by automagically wrapping your code snippets in "dummy wrappers" so it can be processed by NRefactory. If you're having trouble converting your code, try wrapping it in a class yourself to skip our "magic" wrapping process. &lt;/p&gt;
&lt;p&gt;&lt;font face="Arial"&gt;&lt;font face="Arial"&gt;&lt;a href="http://www.google.com/search?q=NRefactory&amp;amp;rls=com.microsoft:*&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;startIndex=&amp;amp;startPage=1"&gt;http://www.google.com/search?q=NRefactory&amp;amp;rls=com.microsoft:*&amp;amp;ie=UTF-8&amp;amp;oe=UTF-8&amp;amp;startIndex=&amp;amp;startPage=1&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;/font&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/731.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2007/04/19/731.aspx</guid>
            <pubDate>Wed, 18 Apr 2007 21:12:37 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2007/04/19/731.aspx#feedback</comments>
            <slash:comments>19</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/731.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Refactor!™ for ASP.NET free download from www.devexpress.com</title>
            <link>http://blog.crowe.co.nz/archive/2007/04/13/710.aspx</link>
            <description>&lt;P&gt;&lt;SPAN&gt;For those that do not know Developer Express make some really great tools and controls for .NET. They have made their Refactor tool for ASP.NET available for free.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Refactor! is freely available to all ASP.NET 2.0 developers and offers a comprehensive suite of tools that enable you and your team to simplify and shape complex code and HTML markup - making your web applications easier to read and less costly to maintain.&lt;/SPAN&gt; 
&lt;P&gt;Below is a simple example where you can refactor the source file the .APSX file into a code behind file.
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;IMG src="/images/refactor.gif"&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt;If you want to watch a small 12 minute video about it see this:&lt;BR&gt;&lt;A href="http://www.devexpress.com/Products/NET/IDETools/RefactorASP/Presentation/Refactor_for_ASP_NET/"&gt;http://www.devexpress.com/Products/NET/IDETools/RefactorASP/Presentation/Refactor_for_ASP_NET/&lt;/A&gt;&lt;/SPAN&gt;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;You can download it from:&lt;BR&gt;&lt;A href="http://www.devexpress.com/Products/NET/IDETools/RefactorASP/"&gt;http://www.devexpress.com/Products/NET/IDETools/RefactorASP/&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;They also have two other free Refactor products:&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;SPAN&gt;Refactor for Visual Basic&lt;/SPAN&gt; 
&lt;LI&gt;&lt;SPAN&gt;Refactor for C++&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/710.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2007/04/13/710.aspx</guid>
            <pubDate>Thu, 12 Apr 2007 15:01:00 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2007/04/13/710.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/710.aspx</wfw:commentRss>
        </item>
        <item>
            <title>HTTP Pipeline in ASP.NET 2.0</title>
            <link>http://blog.crowe.co.nz/archive/2007/04/08/700.aspx</link>
            <description>&lt;P&gt;Here is a quick reference for the steps in HTTP pipeline in ASP.NET 2.0.&amp;nbsp; Some of the steps are internal (cannot be subscribed by HTTP modules or GLOBAL.ASAX):&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Internal step to validate request.&amp;nbsp; Protects against malicious attacks exploiting path canonicalization 
&lt;LI&gt;Internal step to perform URL mapping (if the URL mapping feature is enabled) 
&lt;LI&gt;Fire BeginRequest event 
&lt;LI&gt;Fire AuthenticateRequest event 
&lt;LI&gt;Fire DefaultAuthentication internal event 
&lt;LI&gt;Fire PostAuthenticateRequest event 
&lt;LI&gt;Fire AuthorizeRequest event 
&lt;LI&gt;Fire PostAuthorizeRequest event 
&lt;LI&gt;Fire ResolveRequestCache event 
&lt;LI&gt;Fire PostResolveRequestCache event 
&lt;LI&gt;Internal step to determine the IHttpHandler to process the current request (this is when the page compilation takes place) 
&lt;LI&gt;Fire PostMapRequestHandler event 
&lt;LI&gt;Fire AcquireRequestState event 
&lt;LI&gt;Fire PostAcquireRequestState event 
&lt;LI&gt;Fire PreRequestHandlerExecute event 
&lt;LI&gt;Internal step to execute the IHttpHandler (call its ProcessRequest method) for the current request. The handler is determined at step #11 
&lt;LI&gt;Fire PostRequestHandlerExecute event 
&lt;LI&gt;Fire ReleaseRequestState event 
&lt;LI&gt;Fire PostReleaseRequestState event 
&lt;LI&gt;Internal step to perform response filtering (only if HttpResponse.Filter is installed) 
&lt;LI&gt;Fire UpdateRequestCache event 
&lt;LI&gt;Fire PostUpdateRequestCache event 
&lt;LI&gt;Fire EndRequest event.&amp;nbsp; This is the only event that is guaranteed to be fired for each request&lt;BR&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;I got this list from &lt;A href="http://blogs.msdn.com/dmitryr/"&gt;http://blogs.msdn.com/dmitryr/&lt;/A&gt;&amp;nbsp;- it was part of another topic, but I thought it had value by itself.&lt;/P&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/700.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2007/04/08/700.aspx</guid>
            <pubDate>Sat, 07 Apr 2007 15:01:00 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2007/04/08/700.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/700.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Free download: "Visual Studio 2005: A Guided Tour" </title>
            <link>http://blog.crowe.co.nz/archive/2007/03/13/689.aspx</link>
            <description>&lt;P&gt;&lt;IMG src="/images/msdnmag.gif" align=right&gt;This 92-page issue contains the best MSDN Magazine Visual Studio 2005 coverage from the past two years, updated for the final release. Find out what's new in C#, C++, Visual Basic, Windows Forms, ASP.NET, Team System, security, and C++generic types -- &lt;A href="http://www.sdmediagroup.com/msdnmag/specialedition.pdf"&gt;download your copy&lt;/A&gt; now!&lt;/P&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/689.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2007/03/13/689.aspx</guid>
            <pubDate>Mon, 12 Mar 2007 13:08:00 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2007/03/13/689.aspx#feedback</comments>
            <slash:comments>29</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/689.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Mix 06 - All 52 sessions are online and free!</title>
            <link>http://blog.crowe.co.nz/archive/2006/06/03/650.aspx</link>
            <description>Back a few months ago Microsoft went to Las Vegas to put on a share called Mix06. If you do business on the Web today, it's likely that more than 90% of your customers reach you via Microsoft&amp;#174; Internet Explorer and/or Microsoft Windows&amp;#174;. Come to MIX and learn how the next versions of these products, due later this year, are going to dramatically improve your customers' experience. Explore a wide range of new Web technologies that Microsoft is delivering to help you unlock new revenue opportunities and lower development costs. Learn about the future of Internet Explorer and join us in a discussion about how we can build the ideal Web surfing platform to meet your needs and those of your customers. 
&lt;UL&gt;
&lt;LI&gt;Be the first to get the latest preview build of IE7 &lt;/LI&gt;
&lt;LI&gt;Work with the members of the Internet Explorer team in the Compatibility Lab to get your site ready for IE7 &lt;/LI&gt;
&lt;LI&gt;Test drive "Atlas," Microsoft's powerful new framework for building cross&amp;#8211;browser, cross&amp;#8211;platform AJAX applications &lt;/LI&gt;
&lt;LI&gt;Explore Windows Live!, Microsoft's new consumer services strategy &lt;/LI&gt;
&lt;LI&gt;Learn how to deliver revolutionary, media&amp;#8211;rich Web content with the new Windows Presentation Foundation &lt;/LI&gt;
&lt;LI&gt;Find out how to extend your content, media and services into the living room with Windows Media Center and Xbox 360&amp;#8482; &lt;/LI&gt;
&lt;LI&gt;More than 50 separate sessions and discussions for Web developers, designers and business professionals &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT color=#ff0000 size=4&gt;All 52 sessions are now online and free&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://mix06.com/Default.aspx"&gt;http://mix06.com/Default.aspx&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/650.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2006/06/03/650.aspx</guid>
            <pubDate>Sat, 03 Jun 2006 11:49:00 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2006/06/03/650.aspx#feedback</comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/650.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Parser Error Message: Unrecognized configuration section 'connectionStrings'</title>
            <link>http://blog.crowe.co.nz/archive/2006/05/13/623.aspx</link>
            <description>&lt;SPAN&gt;If you receive the error below then it means that your&amp;nbsp;web&amp;nbsp;site&amp;nbsp;or virtual directory is configured&amp;nbsp;to run with the wrong version of &amp;nbsp;the .NET Framework.
&lt;H1&gt;Server Error in '/MSDN' Application. 
&lt;HR width="100%" color=silver SIZE=1&gt;
&lt;/H1&gt;
&lt;H2&gt;&lt;I&gt;Configuration Error&lt;/I&gt; &lt;/H2&gt;&lt;/SPAN&gt;&lt;FONT face="Arial, Helvetica, Geneva, SunSans-Regular, sans-serif "&gt;&lt;B&gt;Description: &lt;/B&gt;An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. &lt;BR&gt;&lt;BR&gt;&lt;B&gt;Parser Error Message: &lt;/B&gt;Unrecognized configuration section 'connectionStrings'&lt;BR&gt;&lt;BR&gt;&lt;B&gt;Source Error:&lt;/B&gt; &lt;BR&gt;&lt;BR&gt;
&lt;TABLE width="100%" bgColor=#ffffcc&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;CODE&gt;&lt;PRE&gt;Line 12: 		&amp;lt;add key="ConnectionString" value="User ID=MSDN;Password=$MSDN$;Initial Catalog=MSDN;Data Source=nzc-ap-sql-01.ap.trimblecorp.net"/&amp;gt;
Line 13: 	&amp;lt;/appSettings&amp;gt;
&lt;FONT color=red&gt;Line 14: 	&amp;lt;connectionStrings/&amp;gt;
&lt;/FONT&gt;Line 15: 	&amp;lt;system.web&amp;gt;
Line 16:     &amp;lt;pages theme="MSDN"&amp;gt;&amp;lt;/pages&amp;gt;&lt;/PRE&gt;&lt;/CODE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;BR&gt;&lt;B&gt;&lt;FONT face=Verdana&gt;Source File: &lt;/FONT&gt;&lt;/B&gt;D:\Inetpub\websites\IS\MSDN\web.config&lt;B&gt;&lt;FONT face=Verdana&gt; &amp;nbsp;&amp;nbsp; Line: &lt;/FONT&gt;&lt;/B&gt;14 &lt;BR&gt;&lt;BR&gt;
&lt;HR width="100%" color=silver SIZE=1&gt;
&lt;B&gt;&lt;FONT face=Verdana&gt;Version Information:&lt;/FONT&gt;&lt;/B&gt;&amp;nbsp;Microsoft .NET Framework Version:1.1.4322.2300; ASP.NET Version:1.1.4322.2300 &lt;/FONT&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/623.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2006/05/13/623.aspx</guid>
            <pubDate>Fri, 12 May 2006 17:09:00 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2006/05/13/623.aspx#feedback</comments>
            <slash:comments>25</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/623.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Microsoft Atlas Control Extender - Focus</title>
            <link>http://blog.crowe.co.nz/archive/2006/05/10/622.aspx</link>
            <description>&lt;H3&gt;What it does&lt;/H3&gt;
&lt;P&gt;The Focus extender will allow you to set the input focus to a particular control on your web form. I know that with ASP.NET v2 you can use the &lt;B&gt;DefaultFocus &lt;/B&gt;attribute of the &lt;B&gt;
&lt;FORM&gt;&lt;/B&gt;tag to set the focus but that does not work well with Master Pages.&lt;/P&gt;
&lt;H3&gt;How to use it.&lt;/H3&gt;
&lt;P&gt;In your ASP.NET source page you need to register a tag prefix to the DLL as shown below.&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="BACKGROUND-COLOR: #ffff00"&gt;&amp;lt;%&lt;/SPAN&gt;&lt;FONT color=#0000ff&gt;@&lt;/FONT&gt; &lt;FONT color=#800000&gt;Register&lt;/FONT&gt; &lt;FONT color=#ff0000&gt;Assembly&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;SPAN style="COLOR: #0000ff"&gt;"Focus"&lt;/SPAN&gt; &lt;FONT color=#ff0000&gt;Namespace&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;SPAN style="COLOR: #0000ff"&gt;"Focus"&lt;/SPAN&gt; &lt;FONT color=#ff0000&gt;TagPrefix&lt;/FONT&gt;&lt;FONT color=#0000ff&gt;=&lt;/FONT&gt;&lt;SPAN style="COLOR: #0000ff"&gt;"trmb"&lt;/SPAN&gt; &lt;SPAN style="BACKGROUND-COLOR: #ffff00"&gt;%&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;BR&gt;
&lt;P&gt;You then need to add the tags to the page to control the focus.&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;trmb:FocusExtender&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;ID&lt;/SPAN&gt;="&lt;SPAN style="COLOR: blue"&gt;Focusextender1&lt;/SPAN&gt;" &lt;SPAN style="COLOR: red"&gt;runat&lt;/SPAN&gt;="&lt;SPAN style="COLOR: blue"&gt;server&lt;/SPAN&gt;"&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;
    &lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: maroon"&gt;trmb:FocusProperties&lt;/SPAN&gt; &lt;SPAN style="COLOR: red"&gt;TargetControlID&lt;/SPAN&gt;="&lt;SPAN style="COLOR: blue"&gt;txtPN&lt;/SPAN&gt;" /&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;
&lt;SPAN style="COLOR: blue"&gt;&amp;lt;&lt;/SPAN&gt;/&lt;SPAN style="COLOR: maroon"&gt;trmb:FocusExtender&lt;/SPAN&gt;&lt;SPAN style="COLOR: blue"&gt;&amp;gt;&lt;/SPAN&gt;&lt;/PRE&gt;&lt;BR&gt;
&lt;P&gt;There is really only one property which you need to set which is the &lt;B&gt;TargetControlID&lt;/B&gt;. You simply set this to the ID of the server control to set the focus to.&lt;/P&gt;
&lt;H3&gt;The source code&lt;/H3&gt;
&lt;P&gt;The source is made up of 4 primary files - the easiest way to generate source code for an Atlas Control Extender is to use the &lt;B&gt;Add - New Project&lt;/B&gt; dialog and select the &lt;B&gt;"Atlas" control project&lt;/B&gt; &lt;/P&gt;
&lt;P&gt;&lt;IMG height=445 src="/images/AtlasControlExtender.gif" width=681 border=0&gt;&lt;/P&gt;
&lt;P&gt;Creating a project using the &lt;B&gt;"Atlas" control project&lt;/B&gt; template will create 4 files for you:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;[ProjectName]&lt;B&gt;Behavior.js&lt;/B&gt; 
&lt;LI&gt;[ProjectName]&lt;B&gt;Designer.cs&lt;/B&gt; 
&lt;LI&gt;[ProjectName]&lt;B&gt;Extender.cs&lt;/B&gt; 
&lt;LI&gt;[ProjectName]&lt;B&gt;Properties.cs&lt;/B&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Note&lt;/B&gt;: If you do not see the&lt;B&gt; "Atlas" control project&lt;/B&gt; listed then you need to install the "&lt;B&gt;Atlas Control Extender&lt;/B&gt;" templates. &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Note that the "Atlas Control Extender" is for building extenders and controls, not web sites, and therefore does not work with &lt;BR&gt;Visual Web Developer - it is for use with Visual C#, Visual Basic, or Visual Studio&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;In the folder where you installed the "Atlas" Control Toolkit package, you will find a folder called "AtlasControlExtender" with a file called "AtlasControlExtender.vsi" inside it - double-click AtlasControlExtender.vsi to install it 
&lt;LI&gt;Choose which templates you would like to install (it is recommended to install all templates), then click "Next", then "Finish" 
&lt;LI&gt;You have now installed the templates are ready to create your "Atlas" Extenders! &lt;/LI&gt;&lt;/UL&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;
&lt;DIV&gt;&lt;/DIV&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;!--------------------------------------------------&gt;&lt;/P&gt;
&lt;H4&gt;FocusBehavior.js&lt;/H4&gt;
&lt;P&gt;The changes made to this file have been to remove some features that we did not need to keep the file size smaller. &lt;/P&gt;
&lt;P&gt;The code in bold is all that we have to implement to get the control to focus. &lt;/P&gt;&lt;PRE&gt;Type.registerNamespace(&lt;SPAN style="COLOR: maroon"&gt;'Focus'&lt;/SPAN&gt;);
Focus.FocusBehavior = &lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt;() {
    Focus.FocusBehavior.initializeBase(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;);   
    
    &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.initialize = &lt;SPAN style="COLOR: blue"&gt;function&lt;/SPAN&gt;() {
        Focus.FocusBehavior.callBaseMethod(&lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;'initialize'&lt;/SPAN&gt;);&lt;/PRE&gt;
&lt;BLOCKQUOTE&gt;
&lt;BLOCKQUOTE&gt;&lt;PRE&gt;&lt;B&gt;&lt;SPAN style="COLOR: blue"&gt;var&lt;/SPAN&gt; e = &lt;SPAN style="COLOR: blue"&gt;this&lt;/SPAN&gt;.control.element;
&lt;SPAN style="COLOR: blue"&gt;if&lt;/SPAN&gt; (e != &lt;SPAN style="COLOR: blue"&gt;null&lt;/SPAN&gt;)
    e.focus();&lt;/B&gt;&lt;/PRE&gt;&lt;/BLOCKQUOTE&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE&gt;   }
}
Focus.FocusBehavior.registerSealedClass(&lt;SPAN style="COLOR: maroon"&gt;'Focus.FocusBehavior'&lt;/SPAN&gt;, Microsoft.AtlasControlExtender.BehaviorBase);
Sys.TypeDescriptor.addType(&lt;SPAN style="COLOR: maroon"&gt;'focus'&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;'FocusBehavior'&lt;/SPAN&gt;, Focus.FocusBehavior);
&lt;/PRE&gt;
&lt;P&gt;&lt;!--------------------------------------------------&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;P&gt;&lt;/P&gt;
&lt;H4&gt;FocusDesigner.cs&lt;/H4&gt;
&lt;P&gt;No changes were made to this file&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI.WebControls;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.AtlasControlExtender;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.AtlasControlExtender.Design;
&lt;SPAN style="COLOR: blue"&gt;namespace&lt;/SPAN&gt; Focus
{
    &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; FocusDesigner : ExtenderControlBaseDesigner&lt;FOCUSPROPERTIES, Control&gt;
    {
    }
}
&lt;/PRE&gt;
&lt;P&gt;&lt;!--------------------------------------------------&gt;&lt;/P&gt;
&lt;H4&gt;FocusExtender.cs&lt;/H4&gt;
&lt;P&gt;No changes were made to this file&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI.WebControls;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.ComponentModel;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.ComponentModel.Design;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.AtlasControlExtender;
&lt;SPAN style="COLOR: blue"&gt;#region&lt;/SPAN&gt; Assembly Resource Attribute
[assembly: System.Web.UI.WebResource(&lt;SPAN style="COLOR: maroon"&gt;"Focus.FocusBehavior.js"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;"text/javascript"&lt;/SPAN&gt;)]
&lt;SPAN style="COLOR: blue"&gt;#endregion&lt;/SPAN&gt;

&lt;SPAN style="COLOR: blue"&gt;namespace&lt;/SPAN&gt; Focus
{
    [Designer(&lt;SPAN style="COLOR: blue"&gt;typeof&lt;/SPAN&gt;(FocusDesigner))]
    [ClientScriptResource(&lt;SPAN style="COLOR: maroon"&gt;"Focus"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;"FocusBehavior"&lt;/SPAN&gt;, &lt;SPAN style="COLOR: maroon"&gt;"Focus.FocusBehavior.js"&lt;/SPAN&gt;)]
    &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; FocusExtender : ExtenderControlBase&lt;FOCUSPROPERTIES, Control&gt;
    {
    }
}
&lt;/PRE&gt;
&lt;P&gt;&lt;!--------------------------------------------------&gt;&lt;/P&gt;
&lt;H4&gt;FocusProperties.cs&lt;/H4&gt;
&lt;P&gt;The changes made to this file was to basically remove everything and leave it as below since we did not need any custom properties defined.&lt;/P&gt;&lt;PRE&gt;&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI.WebControls;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.Web.UI;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; System.ComponentModel;
&lt;SPAN style="COLOR: blue"&gt;using&lt;/SPAN&gt; Microsoft.AtlasControlExtender;
&lt;SPAN style="COLOR: blue"&gt;namespace&lt;/SPAN&gt; Focus
{
    [DefaultProperty(&lt;SPAN style="COLOR: maroon"&gt;"TargetControlID"&lt;/SPAN&gt;)]
    &lt;SPAN style="COLOR: blue"&gt;public&lt;/SPAN&gt; &lt;SPAN style="COLOR: blue"&gt;class&lt;/SPAN&gt; FocusProperties : TargetControlPropertiesBase&lt;CONTROL&gt;
    {
            
    }
}
&lt;/PRE&gt;&lt;/FORM&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/622.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2006/05/10/622.aspx</guid>
            <pubDate>Tue, 09 May 2006 14:01:00 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2006/05/10/622.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/622.aspx</wfw:commentRss>
        </item>
        <item>
            <title>COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005.</title>
            <link>http://blog.crowe.co.nz/archive/2006/03/02/589.aspx</link>
            <description>&lt;p&gt;If you add a reference to Microsoft Excel and then try to use it within your ASP.NET application you may receive the following error.&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Server Error in '/excel' Application. &lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;hr width="100%" color="#c0c0c0" size="1" /&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#800000"&gt;Retrieving the COM class factory for component with CLSID {00024500-0000-0000-C000-000000000046} failed due to the following error: 80070005. &lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Example Application&lt;/h3&gt;
&lt;p&gt;&lt;img height="686" alt="" width="672" border="0" src="/images/excel_1.gif" /&gt;&lt;/p&gt;
&lt;p&gt;The problem is that by default Microsoft Excel as a COM object can only activated by the following accounts:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Administrator &lt;/li&gt;
    &lt;li&gt;System &lt;/li&gt;
    &lt;li&gt;Interactive &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When you are running your ASP.Net account on Windows XP your web application is running as the ASPNET account.&lt;/p&gt;
&lt;p&gt;The way to resolve this issue is to edit the DCOM configuration settings for the Microsoft Excel Application object.&lt;/p&gt;
&lt;h3&gt;Configure DCOM&lt;/h3&gt;
&lt;ul&gt;
    &lt;li&gt;Go to the Start-Run menu item. &lt;/li&gt;
    &lt;li&gt;Type in "DCOMCNFG" and hit enter. &lt;/li&gt;
    &lt;li&gt;This should load the "Component Services" MMC (you can also load from Administrative Tools - Component Services" &lt;/li&gt;
    &lt;li&gt;Expand "Component Services" &lt;/li&gt;
    &lt;li&gt;Expand "Computers" &lt;/li&gt;
    &lt;li&gt;Expand "My Computer" &lt;/li&gt;
    &lt;li&gt;Select the "DCOM Config" item &lt;/li&gt;
    &lt;li&gt;Select the "Microsoft Excel Application" item. &lt;/li&gt;
    &lt;li&gt;Right click and select Properties &lt;/li&gt;
    &lt;li&gt;Select the Security Tab and you should see the following:&lt;br /&gt;
    &lt;br /&gt;
    &lt;img height="455" alt="" width="404" border="0" src="/images/excel_3.gif" /&gt;&lt;br /&gt;
    &lt;br /&gt;
      &lt;/li&gt;
    &lt;li&gt;Under "&lt;strong&gt;Launch and Activation Permissions&lt;/strong&gt;" select the "&lt;strong&gt;Customize&lt;/strong&gt;" option. &lt;/li&gt;
    &lt;li&gt;Click the "&lt;strong&gt;Edit&lt;/strong&gt;" button&lt;br /&gt;
    &lt;br /&gt;
    &lt;table cellspacing="1" cellpadding="1" summary="" border="0"&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;Windows XP&lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;          &lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;Windows 2003 Server&lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;img height="450" alt="" width="367" border="0" src="/images/excel_4.gif" /&gt;&lt;/td&gt;
                &lt;td&gt; &lt;/td&gt;
                &lt;td&gt;&lt;img height="445" alt="" width="367" src="/images/blog_crowe_co_nz/launchdefault2003permissions.png" /&gt;&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;br /&gt;
      &lt;br /&gt;
      &lt;/li&gt;
    &lt;li&gt;Click the "Add" button to add a new account to the list. &lt;/li&gt;
    &lt;li&gt;On the dialog that is displayed click the Locations button &lt;br /&gt;
    &lt;br /&gt;
    (this is because by default your domain will be selected and we need a local account)&lt;br /&gt;
    &lt;br /&gt;
    In this dialog scroll the list to the top (sometimes the first item is not visible) but scroll to the top and select the first item which is your computer name. In the list below "CCROWE" is the name of my computer.&lt;br /&gt;
    &lt;br /&gt;
    &lt;img height="292" alt="" width="505" border="0" src="/images/excel_5.gif" /&gt;&lt;br /&gt;
    &lt;br /&gt;
      &lt;/li&gt;
    &lt;li&gt;Click the OK button &lt;/li&gt;
    &lt;li&gt;On the dialog that is displayed enter "&lt;strong&gt;ASPNET&lt;/strong&gt;" as the account name (make sure location is set to the name of the computer that IIS is on) on &lt;strong&gt;Windows XP&lt;/strong&gt; or if you are running on &lt;strong&gt;Windows 2003 Server&lt;/strong&gt; you must enter the account that the &lt;strong&gt;Application Pool&lt;/strong&gt; is running as, by default "&lt;strong&gt;Network Service&lt;/strong&gt;"&lt;br /&gt;
    &lt;br /&gt;
    &lt;table cellspacing="1" cellpadding="1" summary="" border="0"&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;Windows XP&lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td&gt;               &lt;/td&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;Windows 2003 Server&lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td valign="top"&gt;
                &lt;p&gt;&lt;img height="254" alt="" width="464" border="0" src="/images/Excel_6.gif" /&gt;&lt;/p&gt;
                &lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt;: A quicker way on Windows XP is to just enter the computer name and the account&lt;br /&gt;
                so in my case that would be:&lt;br /&gt;
                &lt;br /&gt;
                &lt;strong&gt;          ccrowe\ASPNET&lt;/strong&gt; &lt;/p&gt;
                &lt;/td&gt;
                &lt;td&gt; &lt;/td&gt;
                &lt;td&gt;
                &lt;p&gt;&lt;img height="435" alt="" width="461" src="/images/blog_crowe_co_nz/lauchDefaultAppPool.png" /&gt;&lt;/p&gt;
                &lt;p&gt;&lt;img height="246" alt="" width="463" src="/images/blog_crowe_co_nz/launchnetwrokservice1.png" /&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;Click the OK button &lt;br /&gt;
    &lt;/li&gt;
    &lt;li&gt;Now make sure you select the following options for the "ASP.NET Machine Account" or the account that is the application pool identity ( by default Network Service)&lt;br /&gt;
     
    &lt;ul&gt;
        &lt;li&gt;&lt;strong&gt;Local Launch         : Allow&lt;/strong&gt; &lt;/li&gt;
        &lt;li&gt;Remote Launch        : [blank] &lt;/li&gt;
        &lt;li&gt;&lt;strong&gt;Local Activation     : Allow&lt;/strong&gt; &lt;/li&gt;
        &lt;li&gt;Remote Activation    : [blank] &lt;/li&gt;
    &lt;/ul&gt;
    &lt;p&gt;These settings can be seen below:&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt; &lt;/p&gt;
    &lt;table cellspacing="1" cellpadding="1" summary="" border="0"&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;Windows XP&lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;          &lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
                &lt;td&gt;
                &lt;p align="center"&gt;&lt;strong&gt;Windows 2003 Server&lt;/strong&gt;&lt;/p&gt;
                &lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td&gt;&lt;img alt="" src="/images/excel_7.gif" /&gt;&lt;/td&gt;
                &lt;td&gt; &lt;/td&gt;
                &lt;td&gt;&lt;img height="443" alt="" width="367" src="/images/blog_crowe_co_nz/launchnetwrokservice(3).png" /&gt;&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;Click the OK button and test your web application again and it should work fine.&lt;/p&gt;
    &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;Note: Remember if you are running on Windows 2003 Server you must use the application pool identity as the account and not the ASPNET account.&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;&lt;/font&gt;&lt;/strong&gt; &lt;/p&gt;&lt;img src="http://blog.crowe.co.nz/aggbug/589.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Chris Crowe</dc:creator>
            <guid>http://blog.crowe.co.nz/archive/2006/03/02/589.aspx</guid>
            <pubDate>Wed, 01 Mar 2006 15:18:00 GMT</pubDate>
            <comments>http://blog.crowe.co.nz/archive/2006/03/02/589.aspx#feedback</comments>
            <slash:comments>93</slash:comments>
            <wfw:commentRss>http://blog.crowe.co.nz/comments/commentRss/589.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>
