<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="http://www.codeplex.com/rss.xsl"?><rss version="2.0"><channel><title>ASP.NET Browser Compatibility</title><link>http://browsercompatibility.codeplex.com/Project/ProjectRss.aspx</link><description>Simple code snippet to improve ASP.NET Browser Compatibility, in particular&amp;#58; Chrome&amp;#47;Safari</description><item><title>Updated Release: Browser_Compatibility (Nov 11, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Tue, 10 Nov 2009 13:30:05 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Nov 11, 2009) 20091110013005P</guid></item><item><title>Released: Browser_Compatibility (Nov 11, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Tue, 10 Nov 2009 13:30:05 GMT</pubDate><guid isPermaLink="false">Released: Browser_Compatibility (Nov 11, 2009) 20091110013005P</guid></item><item><title>Created Issue: IIS 7 Request is not available in this context exception [6171]</title><link>http://browsercompatibility.codeplex.com/WorkItem/View.aspx?WorkItemId=6171</link><description>Running code on IIS 7.0 in Integrated mode &amp;#40;the default&amp;#41; causes &amp;#34;Request is not available in this context&amp;#34; exception. &lt;br /&gt;&lt;br /&gt;Cause&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;mvolo.com&amp;#47;blogs&amp;#47;serverside&amp;#47;archive&amp;#47;2007&amp;#47;11&amp;#47;10&amp;#47;Integrated-mode-Request-is-not-available-in-this-context-in-Application_5F00_Start.aspx&lt;br /&gt;&lt;br /&gt;Workaround&lt;br /&gt;Switch the application pool into Compatibility mode. The downside is slower execution on IIS7&lt;br /&gt;&lt;br /&gt;Solution&lt;br /&gt;http&amp;#58;&amp;#47;&amp;#47;webguild.dyndns.org&amp;#47;Blog&amp;#47;archive&amp;#47;2007&amp;#47;10&amp;#47;04&amp;#47;porting-web-from-vs2005-iis6-to-vs2008-iis7---issue.aspx&lt;br /&gt;</description><author>ahribernik</author><pubDate>Mon, 09 Nov 2009 01:17:51 GMT</pubDate><guid isPermaLink="false">Created Issue: IIS 7 Request is not available in this context exception [6171] 20091109011751A</guid></item><item><title>Updated Release: Browser_Compatibility (Oct 23, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Thu, 22 Oct 2009 16:55:40 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Oct 23, 2009) 20091022045540P</guid></item><item><title>Released: Browser_Compatibility (Oct 23, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Thu, 22 Oct 2009 16:55:40 GMT</pubDate><guid isPermaLink="false">Released: Browser_Compatibility (Oct 23, 2009) 20091022045540P</guid></item><item><title>Updated Release: Browser_Compatibility (Oct 22, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Wed, 21 Oct 2009 17:56:50 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Oct 22, 2009) 20091021055650P</guid></item><item><title>Released: Browser_Compatibility (Oct 22, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Wed, 21 Oct 2009 17:56:50 GMT</pubDate><guid isPermaLink="false">Released: Browser_Compatibility (Oct 22, 2009) 20091021055650P</guid></item><item><title>Updated Wiki: Home</title><link>http://browsercompatibility.codeplex.com/wikipage?version=10</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Simple code snippet to improve ASP.NET Browser Compatibility, in particular&amp;#58; Chrome&amp;#47;Safari&lt;br /&gt;&lt;br /&gt;Proper detection of the Web Browsers type and capabilities is rather important from the end-users and developers prospective as well. Modern Web-based &amp;quot;thin client&amp;quot; applications are essentially Platform/OS independent as the Browsers are gradually becoming a surrogate/“virtual” OS for online applications. The differences between Browsers, rooted in either branding or versioning create a Browser compatibility issues, which could cause some Web applications to run incorrectly if the compatibility requirements were not met.  See the demo screenshot which demonstrates the ASP.NET Horizontal Menu control compatibility issue when using Google Chrome/Safari Web Browser.&lt;br /&gt;&lt;br /&gt;Simple feature could be added to ASP.NET web applications in order to resolve this compatibility issues by setting the value of Page.ClientTarget = &amp;quot;uplevel&amp;quot; as shown below. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Working DEMO app&lt;/b&gt;, compatible with all major Browsers (IE/Firefox/Safari/Chrome)  is available at: &lt;b&gt;&lt;a href="http://www.webinfocentral.com" class="externalLink"&gt;http://www.webinfocentral.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h4&gt;Project contains: &lt;/h4&gt;
&lt;i&gt;1. Class Module &amp;quot;BrowserUpLevel.cs&amp;quot; to be placed in App&lt;/i&gt;Code directory (ASP.NET 2.0+)_&lt;br /&gt;&lt;i&gt;2. Default Web page &amp;quot;Default.aspx&amp;quot; and corresponding code behind page with code snippet as shown below&lt;/i&gt;&lt;br /&gt;
&lt;h4&gt;The core Browser detection functionality is encapsulated in class module &amp;quot;BrowserUpLevel.cs&amp;quot; shown below:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   BrowserUpLevel.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Date Created     :   03/15/2008&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Last Modified    :   10/10/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   Code to improve Browser compatibility&lt;/span&gt;

&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System.Web;

&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; BrowserCompatibility
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; IsUplevel Browser property
    &lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;enum&lt;/span&gt; UpLevel{chrome, firefox, safari }

    &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; IsUplevel {
        &lt;span style="color:Blue;"&gt;get&lt;/span&gt;{
            &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; ret = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
            &lt;span style="color:Blue;"&gt;string&lt;/span&gt; _browser;

            &lt;span style="color:Blue;"&gt;try&lt;/span&gt; {

                &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (HttpContext.Current == &lt;span style="color:Blue;"&gt;null&lt;/span&gt;) &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
                _browser = HttpContext.Current.Request.UserAgent.ToLower();

                &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (UpLevel br &lt;span style="color:Blue;"&gt;in&lt;/span&gt; Enum.GetValues(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(UpLevel)))
                { &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (_browser.Contains(br.ToString())) { ret = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;; &lt;span style="color:Blue;"&gt;break&lt;/span&gt;; }}

                &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
            }
            &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; { &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret; }
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample code behind page contains code snippet to enforce &amp;quot;uplevel&amp;quot; Browser:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   Default.aspx.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   code behind: set uplevel value to improve &lt;/span&gt;
&lt;span style="color:Green;"&gt;//                  :   ASP.NET Browser Compatibility&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Company          :   Infosoft International Inc.&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DateCreated      :   03/11/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Modified         :   10/14/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;

&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;partial&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; _Default : System.Web.UI.Page
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; Page Pre-Init: force uplevel browser setting
    &lt;span style="color:Blue;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Page_PreInit(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, EventArgs e)
    {
        &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (BrowserCompatibility.IsUplevel) 
        { 
            Page.ClientTarget = &lt;span style="color:#A31515;"&gt;&amp;quot;uplevel&amp;quot;&lt;/span&gt;; 
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample screenshot demonstrates ASP.NET Menu Bar Browser Compatibility issue:&lt;/h4&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=BrowserCompatibility&amp;DownloadId=74820" alt="BrowserCompatibility.jpg" title="BrowserCompatibility.jpg" /&gt;&lt;br /&gt;Fig.1. Sample screenshot using ASP.NET in Google Chrome Browser&lt;br /&gt;
&lt;h5&gt;Recent online projects by Dr. Alexander Bell&lt;/h5&gt;
&lt;ul&gt;&lt;li&gt;YouTube embedded player with DataBound playlist &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Silverlight 3.0 Media Player   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Motosport / NASCAR Map (Bing™) &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Motosport.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Motosport.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;FREE Geocoder with Bing™ Map &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Geocoder.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Geocoder.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt; .NET &lt;/td&gt;&lt;td&gt; ASP.NET &lt;/td&gt;&lt;td&gt; Browser &lt;/td&gt;&lt;td&gt; Browser Compatibility &lt;/td&gt;&lt;td&gt; C# &lt;/td&gt;&lt;td&gt; IE &lt;/td&gt;&lt;td&gt; FireFox &lt;/td&gt;&lt;td&gt; Safari &lt;/td&gt;&lt;td&gt; Chrome &lt;/td&gt;&lt;td&gt; Media Player &lt;/td&gt;&lt;td&gt; Video Player &lt;/td&gt;&lt;td&gt; Bing &lt;/td&gt;&lt;td&gt; Map &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>DrABELL</author><pubDate>Wed, 21 Oct 2009 17:56:08 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091021055608P</guid></item><item><title>Updated Release: Browser_Compatibility (Oct 19, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Sun, 18 Oct 2009 14:18:03 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Oct 19, 2009) 20091018021803P</guid></item><item><title>Released: Browser_Compatibility (Oct 19, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div&gt;Quick fix to Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Sun, 18 Oct 2009 14:18:03 GMT</pubDate><guid isPermaLink="false">Released: Browser_Compatibility (Oct 19, 2009) 20091018021803P</guid></item><item><title>Updated Wiki: Home</title><link>http://browsercompatibility.codeplex.com/wikipage?version=9</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Simple code snippet to improve ASP.NET Browser Compatibility, in particular&amp;#58; Chrome&amp;#47;Safari&lt;br /&gt;&lt;br /&gt;Proper detection of the Web Browsers type and capabilities is rather important from the end-users and developers prospective as well. Modern Web-based &amp;quot;thin client&amp;quot; applications are essentially Platform/OS independent as the Browsers are gradually becoming a surrogate/“virtual” OS for online applications. The differences between Browsers, rooted in either branding or versioning create a Browser compatibility issues, which could cause some Web applications to run incorrectly if the compatibility requirements were not met.  See the demo screenshot which demonstrates the ASP.NET Horizontal Menu control compatibility issue when using Google Chrome/Safari Web Browser.&lt;br /&gt;&lt;br /&gt;Simple feature could be added to ASP.NET web applications in order to resolve this compatibility issues by setting the value of Page.ClientTarget = &amp;quot;uplevel&amp;quot; as shown below. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Working DEMO app&lt;/b&gt;, compatible with all major Browsers (IE/Firefox/Safari/Chrome)  is available at: &lt;b&gt;&lt;a href="http://www.webinfocentral.com" class="externalLink"&gt;http://www.webinfocentral.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h4&gt;Project contains: &lt;/h4&gt;
&lt;i&gt;1. Class Module &amp;quot;BrowserUpLevel.cs&amp;quot; to be placed in App&lt;/i&gt;Code directory (ASP.NET 2.0+)_&lt;br /&gt;&lt;i&gt;2. Default Web page &amp;quot;Default.aspx&amp;quot; and corresponding code behind page with code snippet as shown below&lt;/i&gt;&lt;br /&gt;
&lt;h4&gt;The core Browser detection functionality is encapsulated in class module &amp;quot;BrowserUpLevel.cs&amp;quot; shown below:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   BrowserUpLevel.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Date Created     :   03/15/2008&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Last Modified    :   07/10/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.07&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   Code to improve Browser compatibility&lt;/span&gt;

&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System.Web;

&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; BrowserCompatibility
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; IsUplevel Browser property
    &lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;enum&lt;/span&gt; UpLevel{chrome, firefox, safari }

    &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; IsUplevel {
        &lt;span style="color:Blue;"&gt;get&lt;/span&gt;{
            &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; ret = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
            &lt;span style="color:Blue;"&gt;string&lt;/span&gt; _browser;

            &lt;span style="color:Blue;"&gt;try&lt;/span&gt; {

                &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (HttpContext.Current == &lt;span style="color:Blue;"&gt;null&lt;/span&gt;) &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
                _browser = HttpContext.Current.Request.UserAgent.ToLower();

                &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (UpLevel br &lt;span style="color:Blue;"&gt;in&lt;/span&gt; Enum.GetValues(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(UpLevel)))
                { &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (_browser.Contains(br.ToString())) { ret = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;; &lt;span style="color:Blue;"&gt;break&lt;/span&gt;; }}

                &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
            }
            &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; { &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret; }
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample code behind page contains code snippet to enforce &amp;quot;uplevel&amp;quot; Browser:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   Default.aspx.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   code behind: set uplevel value to improve &lt;/span&gt;
&lt;span style="color:Green;"&gt;//                  :   ASP.NET Browser Compatibility&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Company          :   Infosoft International Inc.&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DateCreated      :   03/11/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Modified         :   06/14/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.03&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;

&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;partial&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; _Default : System.Web.UI.Page
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; Page Pre-Init: force uplevel browser setting
    &lt;span style="color:Blue;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Page_PreInit(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, EventArgs e)
    {
        &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (BrowserCompatibility.IsUplevel) 
        { 
            Page.ClientTarget = &lt;span style="color:#A31515;"&gt;&amp;quot;uplevel&amp;quot;&lt;/span&gt;; 
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample screenshot demonstrates ASP.NET Menu Bar Browser Compatibility issue:&lt;/h4&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=BrowserCompatibility&amp;DownloadId=74820" alt="BrowserCompatibility.jpg" title="BrowserCompatibility.jpg" /&gt;&lt;br /&gt;Fig.1. Sample screenshot using ASP.NET in Google Chrome Browser&lt;br /&gt;
&lt;h5&gt;Recent online projects by Dr. Alexander Bell&lt;/h5&gt;
&lt;ul&gt;&lt;li&gt;YouTube embedded player with DataBound playlist &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Silverlight 3.0 Media Player   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Motosport / NASCAR Map (Bing™) &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Motosport.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Motosport.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;FREE Geocoder with Bing™ Map &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Geocoder.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Geocoder.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt; .NET &lt;/td&gt;&lt;td&gt; ASP.NET &lt;/td&gt;&lt;td&gt; Browser &lt;/td&gt;&lt;td&gt; Browser Compatibility &lt;/td&gt;&lt;td&gt; C# &lt;/td&gt;&lt;td&gt; IE &lt;/td&gt;&lt;td&gt; FireFox &lt;/td&gt;&lt;td&gt; Safari &lt;/td&gt;&lt;td&gt; Chrome &lt;/td&gt;&lt;td&gt; Media Player &lt;/td&gt;&lt;td&gt; Video Player &lt;/td&gt;&lt;td&gt; Bing &lt;/td&gt;&lt;td&gt; Map &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>DrABELL</author><pubDate>Sun, 18 Oct 2009 14:16:32 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091018021632P</guid></item><item><title>Released: Browser_Compatibility (Oct 02, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div&gt;Solution to fix Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Fri, 02 Oct 2009 12:19:32 GMT</pubDate><guid isPermaLink="false">Released: Browser_Compatibility (Oct 02, 2009) 20091002121932P</guid></item><item><title>Updated Release: Browser_Compatibility (Oct 02, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Solution to fix Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Fri, 02 Oct 2009 12:19:32 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Oct 02, 2009) 20091002121932P</guid></item><item><title>Updated Release: Browser_Compatibility (Sep 22, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Solution to fix Web Browsers' compatibility issue (ASP.NET, C#)&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Fri, 02 Oct 2009 12:17:43 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Sep 22, 2009) 20091002121743P</guid></item><item><title>Updated Wiki: Home</title><link>http://browsercompatibility.codeplex.com/Wiki/View.aspx?title=Home&amp;version=8</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Simple code snippet to improve ASP.NET Browser Compatibility, in particular&amp;#58; Chrome&amp;#47;Safari&lt;br /&gt;&lt;br /&gt;Proper detection of the Web Browsers type and capabilities is rather important from the end-users and developers prospective as well. Modern Web-based &amp;quot;thin client&amp;quot; applications are essentially Platform/OS independent as the Browsers are gradually becoming a surrogate/“virtual” OS for online applications. The differences between Browsers, rooted in either branding or versioning create a Browser compatibility issues, which could cause some Web applications to run incorrectly if the compatibility requirements were not met.  See the demo screenshot which demonstrates the ASP.NET Horizontal Menu control compatibility issue when using Google Chrome/Safari Web Browser.&lt;br /&gt;&lt;br /&gt;Simple feature could be added to ASP.NET web applications in order to resolve this compatibility issues by setting the value of Page.ClientTarget = &amp;quot;uplevel&amp;quot; as shown below. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Working DEMO app&lt;/b&gt;, compatible with all major Browsers (IE/Firefox/Safari/Chrome)  is available at: &lt;b&gt;&lt;a href="http://www.webinfocentral.com" class="externalLink"&gt;http://www.webinfocentral.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h4&gt;Project contains: &lt;/h4&gt;
&lt;i&gt;1. Class Module &amp;quot;BrowserUpLevel.cs&amp;quot; to be placed in App&lt;/i&gt;Code directory (ASP.NET 2.0+)_&lt;br /&gt;&lt;i&gt;2. Default Web page &amp;quot;Default.aspx&amp;quot; and corresponding code behind page with code snippet as shown below&lt;/i&gt;&lt;br /&gt;
&lt;h4&gt;The core Browser detection functionality is encapsulated in class module &amp;quot;BrowserUpLevel.cs&amp;quot; shown below:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   BrowserUpLevel.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Date Created     :   03/15/2008&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Last Modified    :   07/10/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.07&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   Code to improve Browser compatibility&lt;/span&gt;

&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System.Web;

&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; BrowserCompatibility
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; IsUplevel Browser property
    &lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;enum&lt;/span&gt; UpLevel{chrome, firefox, safari }

    &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; IsUplevel {
        &lt;span style="color:Blue;"&gt;get&lt;/span&gt;{
            &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; ret = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
            &lt;span style="color:Blue;"&gt;string&lt;/span&gt; _browser;

            &lt;span style="color:Blue;"&gt;try&lt;/span&gt; {

                &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (HttpContext.Current == &lt;span style="color:Blue;"&gt;null&lt;/span&gt;) &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
                _browser = HttpContext.Current.Request.UserAgent.ToLower();

                &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (UpLevel br &lt;span style="color:Blue;"&gt;in&lt;/span&gt; Enum.GetValues(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(UpLevel)))
                { &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (_browser.Contains(br.ToString())) { ret = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;; &lt;span style="color:Blue;"&gt;break&lt;/span&gt;; }}

                &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
            }
            &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; { &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret; }
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample code behind page contains code snippet to enforce &amp;quot;uplevel&amp;quot; Browser:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   Default.aspx.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   code behind: set uplevel value to improve &lt;/span&gt;
&lt;span style="color:Green;"&gt;//                  :   ASP.NET Browser Compatibility&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Company          :   Infosoft International Inc.&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DateCreated      :   03/11/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Modified         :   06/14/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.03&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;

&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;partial&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; _Default : System.Web.UI.Page
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; Page Pre-Init: force uplevel browser setting
    &lt;span style="color:Blue;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Page_PreInit(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, EventArgs e)
    {
        &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (BrowserCompatibility.IsUplevel) 
        { 
            Page.ClientTarget = &lt;span style="color:#A31515;"&gt;&amp;quot;uplevel&amp;quot;&lt;/span&gt;; 
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample screenshot demonstrates ASP.NET Menu Bar Browser Compatibility issue:&lt;/h4&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=BrowserCompatibility&amp;DownloadId=74820" alt="BrowserCompatibility.jpg" title="BrowserCompatibility.jpg" /&gt;&lt;br /&gt;Fig.1. Sample screenshot using ASP.NET in Google Chrome Browser&lt;br /&gt;
&lt;h5&gt;Recent online projects by Dr. Alexander Bell&lt;/h5&gt;
&lt;ul&gt;&lt;li&gt;YouTube embedded player API   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/YouTubeMusicVideo.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/YouTubeMusicVideo.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;YouTube embedded player Data Bound API   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Silverlight 3.0 Media Player   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Motosport / NASCAR Map (Bing™) &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Motosport.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Motosport.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;FREE Geocoder with Bing™ Map &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Geocoder.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Geocoder.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt; .NET &lt;/td&gt;&lt;td&gt; ASP.NET &lt;/td&gt;&lt;td&gt; Browser &lt;/td&gt;&lt;td&gt; Browser Compatibility &lt;/td&gt;&lt;td&gt; C# &lt;/td&gt;&lt;td&gt; IE &lt;/td&gt;&lt;td&gt; FireFox &lt;/td&gt;&lt;td&gt; Safari &lt;/td&gt;&lt;td&gt; Chrome &lt;/td&gt;&lt;td&gt; Media Player &lt;/td&gt;&lt;td&gt; Video Player &lt;/td&gt;&lt;td&gt; Bing &lt;/td&gt;&lt;td&gt; Map &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>DrABELL</author><pubDate>Fri, 02 Oct 2009 12:15:36 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091002121536P</guid></item><item><title>Updated Wiki: Home</title><link>http://browsercompatibility.codeplex.com/Wiki/View.aspx?title=Home&amp;version=7</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Simple code snippet to improve ASP.NET Browser Compatibility, in particular&amp;#58; Chrome&amp;#47;Safari&lt;br /&gt;&lt;br /&gt;Proper detection of the Web Browsers type and capabilities is rather important from the end-users and developers prospective as well. Modern Web-based &amp;quot;thin client&amp;quot; applications are essentially Platform/OS independent as the Browsers are gradually becoming a surrogate/“virtual” OS for online applications. The differences between Browsers, rooted in either branding or versioning create a Browser compatibility issues, which could cause some Web applications to run incorrectly if the compatibility requirements were not met.  See the demo screenshot which demonstrates the ASP.NET Horizontal Menu control compatibility issue when using Google Chrome/Safari Web Browser.&lt;br /&gt;&lt;br /&gt;Simple feature could be added to ASP.NET web applications in order to resolve this compatibility issues by setting the value of Page.ClientTarget = &amp;quot;uplevel&amp;quot; as shown below. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Working DEMO app&lt;/b&gt;, compatible with all major Browsers (IE/Firefox/Safari/Chrome)  is available at: &lt;b&gt;&lt;a href="http://www.webinfocentral.com" class="externalLink"&gt;http://www.webinfocentral.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h4&gt;Project contains: &lt;/h4&gt;
&lt;i&gt;1. Class Module &amp;quot;BrowserUpLevel.cs&amp;quot; to be placed in App&lt;/i&gt;Code directory (ASP.NET 2.0+)_&lt;br /&gt;&lt;i&gt;2. Default Web page &amp;quot;Default.aspx&amp;quot; and corresponding code behind page with code snippet as shown below&lt;/i&gt;&lt;br /&gt;
&lt;h4&gt;The core Browser detection functionality is encapsulated in class module &amp;quot;BrowserUpLevel.cs&amp;quot; shown below:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   BrowserUpLevel.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Date Created     :   03/15/2008&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Last Modified    :   07/10/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.07&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   Code to improve Browser compatibility&lt;/span&gt;

&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System.Web;

&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; BrowserCompatibility
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; IsUplevel Browser property
    &lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;enum&lt;/span&gt; UpLevel{chrome, firefox, safari }

    &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; IsUplevel {
        &lt;span style="color:Blue;"&gt;get&lt;/span&gt;{
            &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; ret = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
            &lt;span style="color:Blue;"&gt;string&lt;/span&gt; _browser;

            &lt;span style="color:Blue;"&gt;try&lt;/span&gt; {

                &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (HttpContext.Current == &lt;span style="color:Blue;"&gt;null&lt;/span&gt;) &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
                _browser = HttpContext.Current.Request.UserAgent.ToLower();

                &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (UpLevel br &lt;span style="color:Blue;"&gt;in&lt;/span&gt; Enum.GetValues(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(UpLevel)))
                { &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (_browser.Contains(br.ToString())) { ret = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;; &lt;span style="color:Blue;"&gt;break&lt;/span&gt;; }}

                &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
            }
            &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; { &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret; }
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample code behind page contains code snippet to enforce &amp;quot;uplevel&amp;quot; Browser:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   Default.aspx.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   code behind: set uplevel value to improve &lt;/span&gt;
&lt;span style="color:Green;"&gt;//                  :   ASP.NET Browser Compatibility&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Company          :   Infosoft International Inc.&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DateCreated      :   03/11/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Modified         :   06/14/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.03&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;

&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;partial&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; _Default : System.Web.UI.Page
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; Page Pre-Init: force uplevel browser setting
    &lt;span style="color:Blue;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Page_PreInit(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, EventArgs e)
    {
        &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (BrowserCompatibility.IsUplevel) 
        { 
            Page.ClientTarget = &lt;span style="color:#A31515;"&gt;&amp;quot;uplevel&amp;quot;&lt;/span&gt;; 
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample screenshot demonstrates ASP.NET Menu Bar Browser Compatibility issue:&lt;/h4&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=BrowserCompatibility&amp;DownloadId=74820" alt="BrowserCompatibility.jpg" title="BrowserCompatibility.jpg" /&gt;&lt;br /&gt;Fig.1. Sample screenshot using ASP.NET in Google Chrome Browser&lt;br /&gt;
&lt;h5&gt;Recent online projects by Dr. Alexander Bell&lt;/h5&gt;
&lt;ul&gt;&lt;li&gt;YouTube embedded player API   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/YouTubeMusicVideo.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/YouTubeMusicVideo.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;YouTube embedded player Data Bound API   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Silverlight 3.0 Media Player   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Motosport / NASCAR Map (Bing™)* &lt;a href="http://www.webinfocentral.com/RESOURCES/Motosport.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Motosport.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;*&lt;/li&gt;
&lt;li&gt;FREE Geocoder with Bing™ Map* &lt;a href="http://www.webinfocentral.com/RESOURCES/Geocoder.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Geocoder.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;*&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt; .NET &lt;/td&gt;&lt;td&gt; ASP.NET &lt;/td&gt;&lt;td&gt; Browser &lt;/td&gt;&lt;td&gt; Browser Compatibility &lt;/td&gt;&lt;td&gt; C# &lt;/td&gt;&lt;td&gt; IE &lt;/td&gt;&lt;td&gt; FireFox &lt;/td&gt;&lt;td&gt; Safari &lt;/td&gt;&lt;td&gt; Chrome &lt;/td&gt;&lt;td&gt; Media Player &lt;/td&gt;&lt;td&gt; Video Player &lt;/td&gt;&lt;td&gt; Bing &lt;/td&gt;&lt;td&gt; Map &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>DrABELL</author><pubDate>Fri, 02 Oct 2009 12:15:01 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091002121501P</guid></item><item><title>Updated Wiki: Home</title><link>http://browsercompatibility.codeplex.com/Wiki/View.aspx?title=Home&amp;version=6</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;Simple code snippet to improve ASP.NET Browser Compatibility, in particular&amp;#58; Chrome&amp;#47;Safari&lt;br /&gt;&lt;br /&gt;Proper detection of the Web Browsers type and capabilities is rather important from the end-users and developers prospective as well. Modern Web-based &amp;quot;thin client&amp;quot; applications are essentially Platform/OS independent as the Browsers are gradually becoming a surrogate/“virtual” OS for online applications. The differences between Browsers, rooted in either branding or versioning create a Browser compatibility issues, which could cause some Web applications to run incorrectly if the compatibility requirements were not met.  See the demo screenshot which demonstrates the ASP.NET Horizontal Menu control compatibility issue when using Google Chrome/Safari Web Browser.&lt;br /&gt;&lt;br /&gt;Simple feature could be added to ASP.NET web applications in order to resolve this compatibility issues by setting the value of Page.ClientTarget = &amp;quot;uplevel&amp;quot; as shown below. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Working DEMO app&lt;/b&gt;, compatible with all major Browsers (IE/Firefox/Safari/Chrome)  is available at: &lt;b&gt;&lt;a href="http://www.webinfocentral.com" class="externalLink"&gt;http://www.webinfocentral.com&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;h4&gt;Project contains: &lt;/h4&gt;
&lt;i&gt;1. Class Module &amp;quot;BrowserUpLevel.cs&amp;quot; to be placed in App&lt;/i&gt;Code directory (ASP.NET 2.0+)_&lt;br /&gt;&lt;i&gt;2. Default Web page &amp;quot;Default.aspx&amp;quot; and corresponding code behind page with code snippet as shown below&lt;/i&gt;&lt;br /&gt;
&lt;h4&gt;The core Browser detection functionality is encapsulated in class module &amp;quot;BrowserUpLevel.cs&amp;quot; shown below:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   BrowserUpLevel.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Date Created     :   03/15/2008&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Last Modified    :   07/10/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.07&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   Code to improve Browser compatibility&lt;/span&gt;

&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System.Web;

&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; BrowserCompatibility
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; IsUplevel Browser property
    &lt;span style="color:Blue;"&gt;private&lt;/span&gt; &lt;span style="color:Blue;"&gt;enum&lt;/span&gt; UpLevel{chrome, firefox, safari }

    &lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;static&lt;/span&gt; &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; IsUplevel {
        &lt;span style="color:Blue;"&gt;get&lt;/span&gt;{
            &lt;span style="color:Blue;"&gt;bool&lt;/span&gt; ret = &lt;span style="color:Blue;"&gt;false&lt;/span&gt;;
            &lt;span style="color:Blue;"&gt;string&lt;/span&gt; _browser;

            &lt;span style="color:Blue;"&gt;try&lt;/span&gt; {

                &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (HttpContext.Current == &lt;span style="color:Blue;"&gt;null&lt;/span&gt;) &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
                _browser = HttpContext.Current.Request.UserAgent.ToLower();

                &lt;span style="color:Blue;"&gt;foreach&lt;/span&gt; (UpLevel br &lt;span style="color:Blue;"&gt;in&lt;/span&gt; Enum.GetValues(&lt;span style="color:Blue;"&gt;typeof&lt;/span&gt;(UpLevel)))
                { &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (_browser.Contains(br.ToString())) { ret = &lt;span style="color:Blue;"&gt;true&lt;/span&gt;; &lt;span style="color:Blue;"&gt;break&lt;/span&gt;; }}

                &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret;
            }
            &lt;span style="color:Blue;"&gt;catch&lt;/span&gt; { &lt;span style="color:Blue;"&gt;return&lt;/span&gt; ret; }
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Gray;"&gt;///&lt;/span&gt;&lt;span style="color:Green;"&gt;*****************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample code behind page contains code snippet to enforce &amp;quot;uplevel&amp;quot; Browser:&lt;/h4&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Module           :   Default.aspx.cs&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Description      :   code behind: set uplevel value to improve &lt;/span&gt;
&lt;span style="color:Green;"&gt;//                  :   ASP.NET Browser Compatibility&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Author           :   Alexander Bell&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Company          :   Infosoft International Inc.&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DateCreated      :   03/11/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Modified         :   06/14/2009&lt;/span&gt;
&lt;span style="color:Green;"&gt;// Version          :   1.03&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;span style="color:Green;"&gt;// DISCLAIMER: This Application is provide on AS IS basis without any warranty&lt;/span&gt;
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;

&lt;span style="color:Blue;"&gt;using&lt;/span&gt; System;

&lt;span style="color:Blue;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;"&gt;partial&lt;/span&gt; &lt;span style="color:Blue;"&gt;class&lt;/span&gt; _Default : System.Web.UI.Page
{
    &lt;span style="color:Blue;"&gt;#region&lt;/span&gt; Page Pre-Init: force uplevel browser setting
    &lt;span style="color:Blue;"&gt;protected&lt;/span&gt; &lt;span style="color:Blue;"&gt;void&lt;/span&gt; Page_PreInit(&lt;span style="color:Blue;"&gt;object&lt;/span&gt; sender, EventArgs e)
    {
        &lt;span style="color:Blue;"&gt;if&lt;/span&gt; (BrowserCompatibility.IsUplevel) 
        { 
            Page.ClientTarget = &lt;span style="color:#A31515;"&gt;&amp;quot;uplevel&amp;quot;&lt;/span&gt;; 
        }
    }
    &lt;span style="color:Blue;"&gt;#endregion&lt;/span&gt;
}
&lt;span style="color:Green;"&gt;//******************************************************************************&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h4&gt;Sample screenshot demonstrates ASP.NET Menu Bar Browser Compatibility issue:&lt;/h4&gt;&lt;img src="http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=BrowserCompatibility&amp;DownloadId=74820" alt="BrowserCompatibility.jpg" title="BrowserCompatibility.jpg" /&gt;&lt;br /&gt;Fig.1. Sample screenshot using ASP.NET in Google Chrome Browser&lt;br /&gt;
&lt;h5&gt;Recent online projects by Dr. Alexander Bell&lt;/h5&gt;
&lt;ul&gt;&lt;li&gt;YouTube embedded player API   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/YouTubeMusicVideo.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/YouTubeMusicVideo.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;YouTube embedded player Data Bound API   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/VideoAudio.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Silverlight 3.0 Media Player   &lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/SilverlightPlayer.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;Interactive Motosport / NASCAR Map (Bing™)&lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Motosport.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Motosport.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;FREE Geocoder with Bing™ Map&lt;b&gt;&lt;a href="http://www.webinfocentral.com/RESOURCES/Geocoder.aspx" class="externalLink"&gt;http://www.webinfocentral.com/RESOURCES/Geocoder.aspx&lt;span class="externalLinkIcon"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;table&gt;&lt;tr&gt;&lt;td&gt; .NET &lt;/td&gt;&lt;td&gt; ASP.NET &lt;/td&gt;&lt;td&gt; Browser &lt;/td&gt;&lt;td&gt; Browser Compatibility &lt;/td&gt;&lt;td&gt; C# &lt;/td&gt;&lt;td&gt; IE &lt;/td&gt;&lt;td&gt; FireFox &lt;/td&gt;&lt;td&gt; Safari &lt;/td&gt;&lt;td&gt; Chrome &lt;/td&gt;&lt;td&gt; Media Player &lt;/td&gt;&lt;td&gt; Video Player &lt;/td&gt;&lt;td&gt; Bing &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>DrABELL</author><pubDate>Fri, 02 Oct 2009 12:13:31 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20091002121331P</guid></item><item><title>Released: Browser_Compatibility (Sep 22, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div&gt;Code to improve ASP.NET Browser Compatibility&lt;/div&gt;&lt;div&gt;&lt;/div&gt;</description><author></author><pubDate>Tue, 22 Sep 2009 04:43:30 GMT</pubDate><guid isPermaLink="false">Released: Browser_Compatibility (Sep 22, 2009) 20090922044330A</guid></item><item><title>Updated Release: Browser_Compatibility (Sep 22, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Code to improve ASP.NET Browser Compatibility&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Tue, 22 Sep 2009 04:43:30 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Sep 22, 2009) 20090922044330A</guid></item><item><title>Updated Release: Browser_Compatibility (Sep 21, 2009)</title><link>http://browsercompatibility.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30022</link><description>&lt;div class="wikidoc"&gt;Code to check Web Browser capabilities&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>drabell</author><pubDate>Mon, 21 Sep 2009 22:02:36 GMT</pubDate><guid isPermaLink="false">Updated Release: Browser_Compatibility (Sep 21, 2009) 20090921100236P</guid></item></channel></rss>